Github Action으로 EC2에서 배포 자동화하기
Github Action은 build, test, deployment와 같은 workflow를 자동화할 수 있는 CI/CD 플랫폼으로,
github repository에서 발생하는 모든 이벤트(push, pull request, merge 등)에 대하여 정해진 동작을 실행시키도록 할 수 있다. 진행중인 프로젝트에서는 를 이용해 서비스 컨테이너들을 관리하고 있다.
소스코드가 수정될 때마다 수동으로 컨테이너를 삭제하고 빌드하는 방식으로 테스트 서버를 운영하다가 을 사용하여 CI/CD를 자동화해보기로 했다. CI/CD 프로세스 설계해보기 다음과 같은 프로세스들을 자동화시키려 하였다. github/workflow에 YAML파일 생성 생성된 pull request에 대하여 자동으로 build 테스트를 수행 → 실패시 merge 불가 main branch에 pull request가 merge된 경우,
a) production 서버에 동작하던 컨테이너를 중지 / dangling image를 삭…