본문 바로가기
배포/AWS

5. 프로젝트 젠킨스로 배포 해보기

by moca7 2024. 12. 11.

 

 

ㅁ 젠킨스

- 젠킨스는 소프트웨어 빌드, 테스트, 배포를 자동화하는 오픈소스 CI/CD 도구입니다.

 

 

 


 

 

- 인스턴스 기존거는 선생님이 다 삭제했다.

- 새로 만들어서 해본다. 인스턴스 시작을 누른다.

 

 

- 빌드할때는 꼭 도커 안써도 된다. 컨테이너 안쓰고 그냥 배포해도 된다.

근데 그런 환경 구축하는게 훨씬 편하니까 도커를 설치한거다.

 

 

 

 

- 인스턴스 이름에 lsw-gdcampus-svr을 줬다.

 

 

 

 

- os는 우분투, ami는 2번째꺼 22.04를 선택했다.

 

 

 

 

- 이창이 뜨는데 그냥 변경 확인 누른다.

 

 

 

 

- 인스턴스 유형은 기본으로 선택되어 있는 t2.micro를 한다.

 

- 새 키 페어 생성을 누른다.

 

 

 

 

 

- 키 페어 이름으로 lsw-gd-keypair를 줬다.

- 키 페어 유형은 RSA, 프라이빗 키 파일 형식은 .pem으로 했다.

- 키 페어 생성을 누르면 다운로드 된다.

- 다운받은 lsw-gd-keypair를 d드라이브로 옮겼다.

 

 

 

 

 

- 네트워크 설정에서 편집을 누른다.

 

 

 

 

- vpc는 172.16.0.0/16으로, 서브넷은 CIDR이 172.16.16.0/24를 선택했다.

- 방화벽(보안 그룹)은 생성한다. 보안그룹 생성을 선택하고 보안 그룹 이름으로 lsw-gd-sg를 줬다.

 

 

 

 


- 아래로 내려서 보안그룹 규칙 추가를 누른다.

- 위처럼 2개를 추가했다. HTTP, Oracle-RDS를 하고 둘다 0.0.0.0/0을 줬다.

 

 

 

 

- 맨 밑의 고급 세부 정보를 연다.

 

 

 

 

- 맨 밑의 사용자 데이터 - 선택사항에 수업때 했던 대로 쉘 스크립트를 복사해 넣는다.

 

 

#!/bin/bash
sudo apt-get update -y
sudo apt-get install ca-certificates curl -y
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc


echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update -y

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

sudo usermod -aG docker ubuntu

sudo docker run -d --name oracle11g -e ORACLE_PASSWORD=1234 -p 1521:1521 gvenzl/oracle-xe:11

 

- 위 쉘 스크립트는 Ubuntu 서버에 Docker를 설치하고, Oracle 11g 데이터베이스 컨테이너를 실행하는 내용입니다.

(근데 사실 선생님이 만든 ec2의 디비 서버를 써서 이건 안씀. 그냥 만든거.)

 

더보기

1. sudo apt-get update -y

  • APT 패키지 목록을 업데이트합니다.
  • -y 옵션은 사용자 입력 없이 자동으로 "yes"를 선택하도록 합니다.

2. sudo apt-get install ca-certificates curl -y

  • ca-certificates: SSL/TLS 인증서의 신뢰할 수 있는 목록을 제공하는 패키지입니다.
  • curl: URL을 가져오거나 데이터를 전송할 때 사용하는 명령어입니다.
  • Docker 설치에 필요한 파일을 가져오려면 이 두 패키지가 필요합니다.

3. sudo install -m 0755 -d /etc/apt/keyrings

  • 디렉토리 /etc/apt/keyrings를 생성합니다.
  • -m 0755는 권한 설정으로, 사용자 읽기/쓰기/실행, 그룹 및 다른 사용자 읽기/실행 권한을 부여합니다.

4. sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

  • Docker 공식 GPG 키를 다운로드하여 /etc/apt/keyrings/docker.asc 파일로 저장합니다.
  • -f: 실패 시 에러 출력 안 함
  • -s: 진행 상태 출력 안 함
  • -S: 에러 시 에러 메시지 출력
  • -L: 리다이렉션된 URL 따라감

5. sudo chmod a+r /etc/apt/keyrings/docker.asc

  • GPG 키 파일에 모든 사용자에게 읽기 권한을 부여합니다.

6. echo ... | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  • Docker 공식 리포지토리를 APT 소스 리스트에 추가합니다.
  • dpkg --print-architecture: 시스템의 아키텍처 출력 (예: amd64)
  • $(. /etc/os-release && echo "$VERSION_CODENAME"): Ubuntu 버전 코드네임 출력 (예: focal, jammy)
  • stable: Docker의 안정 버전 패키지를 사용하도록 설정

7. sudo apt-get update -y

  • 새로운 리포지토리가 추가되었으므로 패키지 목록을 다시 업데이트합니다.

8. sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

  • Docker의 주요 패키지들을 설치합니다:
    • docker-ce: Docker 엔진(Community Edition)
    • docker-ce-cli: Docker 명령어 인터페이스
    • containerd.io: 컨테이너 런타임
    • docker-buildx-plugin: Docker 빌드 확장 기능
    • docker-compose-plugin: Docker Compose 지원

9. sudo usermod -aG docker ubuntu

  • ubuntu 사용자에게 docker 그룹에 추가합니다.
  • 이를 통해 sudo 없이도 Docker 명령을 실행할 수 있게 됩니다.
    -aG: 기존 그룹을 유지하면서 그룹 추가

10. sudo docker run -d --name oracle11g -e ORACLE_PASSWORD=1234 -p 1521:1521 gvenzl/oracle-xe:11

  • Oracle 11g 데이터베이스 컨테이너를 실행합니다.
    • -d: 백그라운드에서 컨테이너 실행
    • --name oracle11g: 컨테이너 이름을 oracle11g로 지정
    • -e ORACLE_PASSWORD=1234: 데이터베이스의 비밀번호를 설정합니다.
    • -p 1521:1521: 호스트의 1521 포트와 컨테이너의 1521 포트를 매핑합니다.
      (Oracle 데이터베이스의 기본 포트는 1521입니다.)
    • gvenzl/oracle-xe:11: Oracle 11g 이미지 사용

 

 

 

 

- 인스턴스 시작을 눌렀따.

 

 

 

 

 

 

 

 

 

 

 

- 이러면 이제 정상적으로 되었다면 도커 설치하고 오라클 컨테이너까지 생성이되어있어야 한다.

 

 

 

 

ㅁ 추가적으로

 

-  인바운드 규칙 편집에서 현재 우리 애플리케이션 포트번호가 9999라서 저걸 했다.

9999에, 0.0.0.0/0을 하고 규칙저장을 했다.

 


 

- 디비는 별도로 만들어져있으니까 그걸 쓰면 된다. 새롬나들어야되면 컨테이널 만들든 서버에 깔든 디비를 서버에 구축하고 테이블 만들어서 준비를 해야되는데 지금은 할 필요가 없는거.

- 우리꺼 applicaiton.propetiertis에서 디비 관련 설정만 ㅏㅂ꿔주면 되는듯.

 

 


 

 

 

 

 

 

 

ㅁ docker ps

- 오라클이 설치되어 있다.

ㅁ docker inspect oracle11g

 

 

 

 

 

 

- 172.17.0.2다.

(근데 의미 없음. 선생님이 만든 ec2 디비 오라클 컨테이너 디비 서버를 application.proeperieteis에 써서.)

 

 

 


 

 

- 깃에 도커파일도 넣어야 한다.

도커파일은 다른사람이 main에 올렸다.

 


 

 

 

- 디비 . sql developer는 아무것도 안했다. ㅆ"ㅐㅁ이 ec2해서 열어놔서 공용디비 쓰면서 어플리케이션 프로퍼티에다가 쌤 공용 디비 번호를 넣었잖아. 그래서 그건 안건드려도 되는데 나중에 그거 닫고 우리가 우리 개인거쓰면 바꿔줘야한다. 

- 어플리케이션프로퍼티스도 수정 안했다.

- 파이프라인 스크립트 master에서 main으로 수정했다. 또 깃허브 주소 우리걸로 바꿨다.

 

 

 

 

==[이하 가저온거]========

 


- 젠킨스로가기전에

- 버츄얼박스의 우분투 킨다.

 

 

 

 

 

 

ㅁ ngrok http http://localhost:8080

- 입력했다. 

 

 

 

 

- ㅂ복사는 ctrl shift pausebreak키. ctrl c는 꺼져버림.

이 창이 꺼지면 안되나 봄. 듀플리케이트 하든지. 저 복사를 하든지.

 

 

 

- 비짓 사이트하면 어제 우리가 설치해놓은 젠킨스가 뜬다.

admin, 1234를 뜬다.

 

 



- 이렇게 뜬다 로그인하면. 어제한 test prjocet가 보인다.

 

 

=====[위까지 가져온거]=================

 

 

 

 

 

 

 

 

- add webhook을 눌렀다.

 

 

- 패이로드 url에 앞에는 ngrok의 그걸 쓰고, 뒤에는 /github-webhook/을 붙였다.

- add webhook 누른다.

 

 

 

 

 

 

= 젠킨스는 저장소에 한사람 것만 웹훅에 연결해야 한다. 충돌날 수 있으니까.

- ec2 서버도 서버 한대로만 배포할 거면 한명만 하면 된다.

- 버츄얼박스의 우분투에서 ngrok http http://localhost:8080 을 하면 아래와 같이 나온다.

https://3be4-14-36-141-71.ngrok-free.app/ -> http://localhost:8080

근데 이것도 한사람만 하면 된다. 한사람이 ec2 인스턴스 만들고 개인키도 등록해놓고, 다른사람이 젠킨스에 로그인할 때는 다른사람이 설정한 젠킨스의 아이디와 비번 admin, 1234로 로그인해서 / 위에서 한 설정들도 한사람이 하면 된다.

- 근데 저장소 웹훅 설정은 저장소관리자가 나라서 내가 해야 한다.

이때 내 버츄얼박스에서 나온 ngrok 주소가 아니라, 다른사람의 주소인 https://5b8f-14-36-141-71.ngrok-free.app/ 를 입력해야한다. 그 뒤에 /github-webhook/를 해줘야 한다.

- 다른사람은 이 웹훅 설정은 안했다. 그래서 커밋푸쉬 깃허브에 한게 젠킨스에서 자동으로 pull되어서 배포까지 되진 않는다.

다른사람은 지금빌드를 눌러줘야 한다. 

 

 

 

 


 

파이프라인

 

import java.text.SimpleDateFormat

def TODAY = (new SimpleDateFormat("yyyyMMdd")).format(new Date())

pipeline {
    agent any
    environment {
        strDockerTag = "${TODAY}_${BUILD_ID}"
        strDockerImage ="gdlsw/gdcampus:${strDockerTag}"
    }

    stages {
        stage('Github Pull') {
            steps {
                git branch: 'main', url:'https://github.com/LSW-20/gdcampus.git'
            }
        }
        stage('Build') {
            steps {
                sh 'chmod u+x mvnw'
                sh './mvnw clean package -Dmaven.test.skip=true'
            }
        }

        stage('Docker Image Build') {
            steps {
                script {
                    oDockImage = docker.build(strDockerImage, "--build-arg VERSION=${strDockerTag} -f Dockerfile .")
                }
            }
        }
        stage('Docker Image Push') {
            steps {
                script {
                    docker.withRegistry('', 'docker-auth') {
                        oDockImage.push()
                    }
                }
            }
        }
        stage('Staging Deploy') {
            steps {
                sshagent(credentials: ['Staging-PrivateKey']) {
                    sh "ssh -o StrictHostKeyChecking=no ubuntu@43.202.47.169 docker container rm -f gdcampus"
                    sh "ssh -o StrictHostKeyChecking=no ubuntu@43.202.47.169 docker container run \
                                        -d \
                                        -p 80:9999 \
                                        -v /home/ubuntu/upload:/app/upload \
                                        --name=gdcampus \
                                        ${strDockerImage} "
                }
            }
        }
    }
}

 

- 바로 위 스샷 에서 잘못된점. master가 아니라 main이어야 함.

 

- 43.202.47.169는 EC2의 공인 IPv4주소다.

 

- gdlsw는 도커허브 닉네임인가 아이디다.

아래 LSW-20은 깃허브 닉네임이다.

 

- 컨테이너가 서버가 되는데 그 안에서 동작시키면 컨테이너의 포트가 9999가 된다. 접속할때는 80으로 해주면 된다.

애플리케이션은 컨테이너 안에서 동작하기 때문에 9999번으로 ㄷㅇ작하는데, 접속할때는 80으로 하겠다.

 

- 여기서 컨테이너 내부 포트번호를 9999로 해서 브라우저에서 url로 접속할 때 뒤에 :9999안하고 공인 ipv4주소만으로도 갈 수있다.

 

 


 

 

ㅁ 젠킨스

 

 

 

- 새로운 item을 누른다.

 

 

 

 

 

 

 

 

 

- 깃허브 훅을 체크한다.

- 아래 파이프라인에 위에 pipeline.txt를 붙여넣는다.

- 그리고 저장.

 

 

 

 

- 저장하면 이렇게 뜬다.

 

- 저장하고나서 이제 두개 인증을 만들어줘야 한다.

도커에 로그인할때 사용할 인증 docekr-auth. 이름은 다르게 해도 되는데 지금 코드에 저렇게햇으니 저렇게 만들거고,

staging-rprivatekey도 만들거다.

 

 

 

 

 

 

 

 

- 대시보드에 왔다.

- 왼쪽 메뉴에서- jenkins 관리 - credentials에서 globals 파란색 글자 누르고, 

add credentails 버튼을 누른다. 

도커는 username과 패스워드로 인증하는 방식을 쓸거다.

 

 

 

 

 

- 크레덴셜스 클릭

 

 

 

 

- 그런데 이미 만들어져 있다.

- 처음 aws에서 ec2 만들 때 개인키를 새로 생성하지 않고 전에 쓰던 lsw-keypair.pem을 썼으면 여기선 안건드려도 되는데, 난 ec2만들 때 개인키를 새로 생성했었따.

 

 

 

 

 

 

 

- add 대신 replace 파란색 버튼이 있따. 누르고 개인키를 저렇게 붙여놓고 save했다. 

 

 

- save하면 아래와 같이 뜬다. 잘 된거다.

ubuntu

Usage

This credential has not been recorded as used anywhere. Note: usage tracking requires the cooperation of plugins and consequently may not track every use.

 

우분투
사용
이 자격 증명은 어디에서도 사용된 것으로 기록되지 않았습니다.
참고: 사용 추적은 플러그인의 협력이 필요하므로 모든 사용을 추적하지 못할 수 있습니다.

 

 

 

 

 


[아래는 퍼온거]

- 암튼 오류 해결하기 위해.

jenkins 서버에서 다음 명령어를 써준다. 버츄얼박스의 우분투에다가. ngrok 창이 꺼지지 않게 듀플리케이트해서 한다.

sudo usermod -aG docker jenkins

sudo service jenkins restart

- 젠킨스도 명령을 sudo없이 실행하게끔 docker 그룹에 포함시켜준다.

[위는 퍼온거]

 

 

 

- 위에 2줄을 수업시간때 했다. 그래서 지금은 안했따.

 

 

 


 

 

 

 

- 일단은 내 ec2와 내 젠킨스에서 지금빌드로 되는지 확인하기 위해 지금 빌드를 눌렀떠니 오류.

 

- pipeline.txt가 main이어ㅑㅇ하는데 master였다.

 

 

 

 

 

 

- 구성에서 main으로 바꾸고 저장했다. 

 

 

 

 

 

- 다시 지금빌드를 보니 된다.

 

 

 

 

 

- 도커허브에서도 확인해본다.

이미지가 올라갔다.

 

 

 

 

 

- 새로만든 ec2 공인 ipv4주소로 로그인해본다.

- 파이프라인에서 -p 80:9999를 해놨기 때문에 뒤에 :9999가 없어도 들어가진다.

 

- 어쨌든 되는건 확인했다.

 

 

 


 

 

 

- 깃허브 저장소에서 애드웹훅 누른다.

 

 

 

- 위에는 내 주소다. 

다른사람걸로 해도 되지만 다른사람과 내 진도가 똑같으니 내걸로 해본다.

- 페이로드url을 작성하고 add webhook을 누른다. 

 

 

 

 

 

- 그럼 이렇게 뜬다.

- 새로고침 한다.

 

- 체크표시로 바뀌었다.

- 방금 만들어서 deliver이 됐다고 표시돼서 할 필요는 없지만,

그래도 redeliver시켜본다. 저 파란색 글씨를 누르낟.

 

 

 

- 여기서 recent deliveries를 누르낟.

 

 

 

 

- ...를 누른다.

 

 

 

 

- 여기서 redeliver를 누른다.

 

 

 

 

- 그럼 redelivery된걸 볼 수 있다.

젠킨스와 깃허브간에 통신이 잘 된단 얘기다.

 

 

 

 

 

- sts에서 메인페이지의 문구를 바꾸고 gdcampus 저장소 main에 커밋&푸쉬했다.

 

 

 

 

 

 

- 내가 sts에서 작업하고 깃허브로 커밋&푸쉬한 사항을, 젠킨스에서 pull로 깃허브에서 내려받고, 빌드해서 jar파일 만들고, 도커 이미지 만들고, 도커허브에 푸쉬한다.

- 젠킨스에서 staging deploy는 운영 전 최종 테스트를 위해 스테이징 서버에 코드를 배포하는 단계입니다.

 

 

 

- 근데 또 젠킨스에서 마지막 단계에서 안넘어간다.

 

 

 

- aws의 ec2에 또 연결이 안된다. 다른사람건 된다.

 

 

 

 

 

- 다른사람건 되니까 깃허브에서 웹훅을 바꿔본다.

edit을 누른다.

 

 

 

 

- 다른사람건 되니까 깃허브에서 웹훅을 바꿔본다.

https://3be4-14-36-141-71.ngrok-free.app/github-webhook/ 에서 (내거)

https://5b8f-14-36-141-71.ngrok-free.app/github-webhook/ 로 바꾼다. (다른사람거)

 

 

 

 

 

 

 

- 그리고 recente deleveries - 제일 위에거 오른쪽의 ... - redeliver를 눌러서 통신이이 잘 되는지 확인한다.

- redelivery가 뜬다. 통신은 잘 된다.

 

 

 

 

- 내 aws ec2 서버가 연결이 안되서 다른사람 걸로 깃허브의 웹훅에 연결했다.

- 그리고 메인페이지를 수정하고 커밋&푸쉬했다.

 

 

- 다른사람 젠킨스 경로로 url에 들어가서 admin, 1234로 로그인하면 커밋중인게 보인다.

 

- 다 완료되었다.

 

 

 

 

 

 

- 그사람의 ec2의 공인 ipv4 주소(http://43.200.255.252/)로 들어가보면 들어가진다.

메인페이지의 수정사항('구디아카데미 로그인' 앞뒤로 별 없애기)도 반영되어있다.

 

 


 

 

- vpc느 aws안에 우리만 쓸 네트워크를 만드는거다. 다른회사에서 쓰면안되니까. aws 안에서 우리만 쓰는 공간을 만든다 극 ㅔvpc다. 
- vpc3개있는건 학원에서해준거고 기본으로 ㅁ나들면 1개있다.
- 서브넷은 a인걸 보통 하면 된다. 가용영역이 a, b, c이렇게 나뉘어 있다. 
- vpc는 바로쓸수잇는게 아니라 서브넷을 만들어줘야한다. 하나으 ㅣ큰네트워크를 서브넷으로 쪼개서 쓰는거다.
거기다 ec2나 다른서비스를 만든다.
- 서브넷에서 할당되는건 사설 ip다. 
- 프라이빗 서브넷은 다른사람이 못들어간다. 외부에선.



- ec2 인스턴스 접속 내거가 안되어서 다시 만들었다.  잘 된다.

 

- 디비서버는 보통은 따로 만드는데, 테스트용으로는 지금의 ec2 서버에 오라클 디비를 만들어도 된다.

 


 

 

- 디비도 젠킨스도 로컬에 두고 ngrok써서 해도 된다.

버츄얼박스에서 지금 우분투 하나만 있죠. 엔지락으로 연결해서.

지금 하나는 젠킨스용으로, 하나는 디비용으로 쓰는거죠.

저거 복사하면 돼요. 엔지락을 무료로 쓸때는 포트를 하나밖에 못 써서 두개를 하는거.

- 실제 배포하는 서버만 aws의 서버를 쓰는거죠. 그건 외부에서 접속이 되어야하니까.

- 물론 배포서버도 버츄얼박스에 써도 된다. 그럼 엔지락으로 배포해도 되니까. 근데 그러진 말고 aws로 한다.

- 제일 편한건 다 aws에 두고 쓰는건데 비용이 신경 쓰이니까. 다른건 다 로컬에 두고 배포 서버만 ec2로 사용을 하면 된다.

 

 

 


 

 

- https://www.cloudwave.shop/

 

- 이건 도메인과 인증서를 사서 선생님이 해보신 사이트다.

- Gabia에서 1년에 500원에 도메인을 샀다. 가비아 말고도 딴데도 많이 있다.

도메인을 가서 내가 원하는 도메인을 검색하면 나오는데 왠만하면 다 등록이 되어 있다.

- 인증서는 옛날에는 샀어야 하는데 요즘에는 3개월 무료. 그 후엔 바꿔야 하는 걸로 있따. 

 

 

 

- 구매하면 보통 하루정도 지나야 도메인을 쓸 수 있다.

- 그럼 산 거에다가 ip를 연결시켜놓으면 된다. 

dns 관리에서 내가 산걸 선택하고 dns 설정으로 가서 호스트는 www, 주소에는 aws의 공인ipv4 주소를 입력하면 된다.

 

 

 

 

- 근데 이제 인증서는 안되어있는 상태다. 인증서는 사든지 무료인증서를 사든지. 3개월마다 갱신해야하는걸. 그럼 https로 서비스할 수 있다.

 

 

>> Let's encrypt 인증서 설치를 위한 프로그램 설치
amazon-linux-extras install epel
yum install cerbot
yum install certbot

>> 인증서 발급요청 :  서버가 동작중이어야하고 80번 포트가 개방돼 있어야 함.
certbot certonly --standalone -d pre.goodee.co.kr
cd /etc/letsencrypt/live
cd pre.goodee.co.kr/

>> Spring Boot에서 사용하기 위해 인증서를 pkcs12형식으로 파일 변경. 패스워드 설정하고 해당 패스워드를
     application.properties 파일에 등록해야함.  name은 임의로 설정  
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name ttp

- application.properties
#SSL
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=비밀번호

>> Let's encrypt 인증서는 3개월마다 갱신해야함.
- 실제로 갱신하지않고 갱신 가능한지 테스트함.
certbot --dry-run renew

- 모든 인증서 갱신 :  특정 인증서를 갱신하려면 -d 도메인
certbot renew

openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name ttp

 

- 가비아에서 그 연결을 해놓고 배포서버에서 이걸 하면 된다.

- 배포서버에 certbot이라는 패키지를 설치하고, (sudo apt install certbot)

그리고 내가가 원하는 도메인을 적어주는 거다. (certbot certonly --standalone -d www.cloudwave.shop)

 

그럼 cd로 저렇게 가면 저런게 있다.

가면 키가 있을건데 스프링 부트에서 쓰려면 인증서를 pkcs12형식으로 파일을 변경해야 한다.

- 이렇게해서 생성된 keystore.p12로 만들어진 파일을 소스의 클래스패스에다가 추가해야 한다.

- resources/application.properites와 같은 레벨로 keystore.p12 파일을 끌어다 놓고,

application.properties에 아래 3줄을 추가한다.

server.ssl.key-store=classpath:keysotre.p12

server.ssl.key-type=PKDC12

server.ssl.key-password=P@ssw0rd

 

 

- 원래는 t2micro인데 t2small쓰면 계속쓰면 한달에 2만원 정도. 계속 썼을 때 얘기고 잠깐 테스트하고 지우면 얼마 안나와요. 근데 여기 안에 있는 서비스를 모르는 상태에서 써버리면 비용이 많이 나올 수 있는데 필요한 것만 쓰고 지우면 얼마 안든다.

 

 

'배포 > AWS' 카테고리의 다른 글

4. 젠킨스로 배포  (1) 2024.12.11
3. CI/CD - Jenkins, GitHub, Eclipse  (0) 2024.12.10
2. AWS EC2(우분투)에 배포하기  (1) 2024.12.10
1. aws 개념  (1) 2024.12.10