과정에 대한 이해는 있지만
항상 프로세스에 대해 설명하기 어려워서 작성해둠
무중단 배포 프로세스
- 코드 푸시:
- 변경된 코드를 깃액션 이벤트 브랜치에 푸시합니다.
- GitHub Actions 트리거:
- 코드 푸시로 인해 GitHub Actions가 트리거됩니다.
- 애플리케이션 빌드 및 아티팩트 업로드가 진행됩니다.
- 배포 트리거:
- GitHub Actions가 AWS CodeDeploy를 트리거하여 배포를 시작합니다.
- CodeDeploy 배포 과정:
- BeforeInstall 훅: 기존 애플리케이션을 중지합니다.
- AfterInstall 훅: 새로운 애플리케이션 파일을 설치합니다.
- ApplicationStart 훅: 새로운 애플리케이션을 시작합니다.
- ValidateService 훅: 애플리케이션 상태를 검증합니다.
- nginx 업데이트:
- 배포 중에도 nginx는 트래픽을 새롭게 시작된 인스턴스로 라우팅합니다.
- 사용자는 중단 없이 서비스를 이용할 수 있습니다.