서버 운영 방식

배포 방식

배포 플로우

현재 운영서버 (EC2-1) 에서 Blue 컨테이너가 실행중

  1. 개발자가 Github main branch 에 코드 push
  2. github webhook을 이용해 Jenkins (EC2-2)가 변경 감지
  3. Jenkins (EC2-2)가 변경 감지 후 빌드 & Docker 이미지 생성
  4. Jenkins (EC2-2)가 생성된 이미지를 Docker Hub에 Push
  5. Jenkins (EC2-2)가 EC2-1에서 Green 컨테이너 실행
  6. Green 컨테이너가 Docker Hub에서 최신 이미지 Pull 후 실행
  7. Nginx가 트래픽을 기존 Blue → Green으로 변경
  8. 문제없으면 기존 Blue 컨테이너 종료, 롤백 필요 시 다시 Blue로 전환