1. 개요
1.1 개요
Blue/Green 배포 전략 개념에 대해 소개하고 이후 동적으로 Nginx의 port를 변경하는 방법에 대해서 소개합니다.
2. LIME 프로젝트 적용 방법 소개
2.1 Blue/Green 핵심 Flow
- 새롭게 만든 소스코드를 빌드하고 테스트
- 테스트에 실패하면?
- 테스트에 성공하면?
- 새롭게 만든 서버로 포트 변경
- 기존 서버 종료
2.2 Blue/Green 구현 로직
- Blue/Green상태는 Nginx 설정 파일을 보고 판단합니다. (is_blue_env.sh 실행)
- 상태에 따른 절차.
- 상태가 Blue이면
- Green 포트로 서버를 연다.
- Green 포트에 대해 health check를 한다.
- 이상이 있다면
- 이상이 없다면
- Blue 포트를 종료한다.
- Nginx의 연결 포트를 Green 포트로 변경 한다. (switch_to_reen_env.sh 실행)
- 상태가 Green이면
- Blue 포트로 서버를 연다.
- Blue 포트에 대해 health check를 한다.
- 이상이 있다면
- 이상이 없다면
- Blue 포트를 종료한다.
- Nginx 연결 포트를 Blue 포트로 변경한다. (switch_to_blue_env.sh 실행)
2.3 UML
상태가 Blue일 때 CI/CD 과정을 도식화한 UML 이미지 입니다.

상태가 Green일 때 CI/CD 과정을 도식화한 UML 이미지 입니다.

정리
- 정리하자면 Blue / Green 상태가 계속해서 변경 됩니다.
- 각 상태에 따른 포트에 대해 배포, 테스트, 삭제를 진행합니다.