728x90
CD를 구축하기 전에 먼저 배포 과정을 익히기 위해서 수동 배포를 해보려고 한다.
지난번에 AWS RDB와 EC2를 만들었고 그 이후 과정부터 진행하고자 한다.
gradle 빌드하여 jar 파일 생성
인텔리제이에서 스프링 부트 프로그램을 빌드하여
build > libs > [프로젝트명]-0.0.1-SANPSHOT.jar 파일을 생성한다.
터미널에서 해당 파일이 있는 곳으로 이동 후 java -jar [프로젝트명]-0.0.1-SNAPSHOT.jar으로 프로그램이 잘 실행되는지 확인한다.
jar 파일로 이미지를 생성하여 도커허브에 push
jar파일이 있는 위치에 Dockerfile을 생성한다.
FROM openjdk:17
COPY Sappun-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
cd 명령어를 통해 도커 파일이 있는 곳으로 터미널 위치를 옮긴다.
도커 이미지를 빌드한다.
docker build --no-cache -t [도커허브_아이디]/[이미지이름] .
도커 이미지 생성 확인
이미지를 run한 후 컨테이너가 정상적으로 작동되는지 확인한다.
docker images
로그인 후 만든 이미지를 도커허브에 push한다.
docker login
docker push [도커허브_아이디]/[이미지이름]
AWS EC2 ssh접속
터미널에서 pem 키가 있는 곳으로 이동한다.
pem 키에 읽기 권한을 부여한다.
attrib +R [pemKey이름].pem
// or
chmod 400 [pemKey이름].pem
ssh 접속
sudo ssh -i {pemKeyName}.pem ubuntu@{탄력적 IP주소}
# 또는 관리자 권한으로 cmd 실행 후
ssh -i {pemKeyname}.pem ubuntu@{탄력적 IP주소}
EC2 접속 후 도커 설치 (한 줄씩 실행)
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
EC2 도커에서 이미지 받아 실행하기
도커에 이미지 pull 하기
sudo docker pull '이미지명'
받은 이미지 보기
sudo docker images -a
받은 이미지 실행하기
sudo docker run '이미지명'
'TIL' 카테고리의 다른 글
[240118] userDetails null 오류 (0) | 2024.01.18 |
---|---|
[240117] ec2 서버 실행 (0) | 2024.01.17 |
[240113] MapStruct unmapped 오류 수정 (0) | 2024.01.13 |
[240111] Docker image, Docker container (0) | 2024.01.11 |
[240110] CI/CD 공부 (1) CI (0) | 2024.01.10 |