SpringBoot에 CI/CD 적용하기(with Travis CI, AWS CodeDeploy)(0) - 들어가기에 앞서

zooju·2023년 2월 28일
0

항상 스프링부트 프로젝트를 만들고 배포할 때 ec2에 두 가지 방법중에 한 방법을 골라서 배포했다.

1. 로컬에서 빌드파일을 만들기 → scp 로 jar 파일을 로컬에서 서버로 전송 → nohup으로 배포

2. 로컬에서 github에 푸시 → 서버에서 git clone, nohup 실행해주는 deploy.sh 파일만들어 실행시켜주기

하지만 항상 수정이나 푸시 후 jar이든 deploy.sh든 실행시켜줘야 한다는 불편함이 있었고 이를 해결하기 위해 CI, CD를 적용해보고자 한다.

들어가기에 앞서

Travis CI, Code Deploy를 사용한 전체적인 플로우는 다음과 같다.

  1. 개발한 코드를 git main branch에 푸시한다.
  2. travis ci에서 repository에 푸시한 파일을 자동으로 테스트하고 빌드한다.
  3. travis ci는 빌드한 파일을 S3에 저장하고, code deploy에 배포 요청을 한다(이를 위해선 travis ci가 두 서비스에 접근할 수 있는 권한인 IAM이 필요!)
  4. code deploy는 s3로부터 빌드파일을 전달받아 실행(=배포)한다.

CICD를 적용시킨 후에는 무중단 배포를 위한 작업도 해볼 예정이다.

이를 위해 내가 해줄 일은 다음과 같다

  1. 서버를 배포할 EC2를 생성
  2. travis ci 생성, git repository와 연동
  3. S3 생성
  4. Code deploy 생성
  5. travis ci와 code deploy, s3 연결하기

다 천천히 해보자!!!

Reference

스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 이동욱

profile
이것 저것 새로운 분야에 관심이 많은 서버 개발자

0개의 댓글