헬스 체크와 배포·롤백
테스트를 통과한 이미지를 배포하고 사용자 요청 실패 시 이전 버전으로 복구합니다.
진도 0%
레슨
- 생존과 요청 준비 상태
프로세스 실행과 요청 처리 가능 상태를 구분합니다.
- 후보 검증과 트래픽 전환
후보 이미지 검증 후 프록시 대상을 바꿉니다.
- 복구 기준과 이전 digest
오류·시간 초과 기준으로 이전 이미지를 복구합니다.
- 데이터 호환성과 백업 복원
이미지 롤백과 데이터 복원을 구분합니다.
헬스 체크와 배포·롤백 미션
m06 미션 solution 전체를 이어받아 app에 /ready와 11개 Java 테스트를 추가합니다. 이전 CI archive와 m06 실행 자원은 보존하고 새 CI 후보 이미지를 검증한 뒤 개인 Nginx 프록시의 전환·오류·시간 초과 복구 및 별도 볼륨 복원을 재현합니다.
요구사항
- m04 CI 통과 산출물만 받아 m06 후보 환경에 배포하고 readiness·사용자 요청 검사 후 프록시를 전환합니다.
- 오류율 fixture 또는 검사 시간 초과에서 이전 digest로 복구하며 변경 전 데이터를 보존합니다.
- 백업을 별도 볼륨에 복원하고 이전 버전의 데이터 호환성을 검증합니다.
완료 기준
- 준비 실패 후보로 트래픽이 전환되지 않습니다.
- 실패 후보 배포 후 이전 digest와 사용자 응답·안내판 데이터가 확인됩니다.
- 손상된 백업은 거부하고 정상 백업 복원 후 원본 레코드가 일치합니다.
- check.sh는 CI checksum·실제 양쪽 image ID와 platform·m06 라벨과 마운트·준비 실패 503 전환 금지·정상 backend 관측·5개 요청의 오류 및 timeout 복구·이전 응답 일치·원본 바이트 보존을 검사합니다.
- 손상 archive는 거부하며 별도 restore-data 볼륨을 실제 이전 image ID로 읽어 id·title을 원본과 비교합니다. 최종 프록시는 기존 m06 서비스입니다.
- 오류 fixture는 같은 후보 이미지의 /fixture/error와 /fixture/slow로 사용자 경로를 연결하는 장애 주입이며 별도 불량 이미지를 빌드한 실험이 아닙니다. Docker 실행은 external 대기입니다.
BOOTCAMP_AUTOCLEAN=1 bash prepare-and-check.sh미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 명령 기록과 관측 증거로 변경 이유를 설명합니다.
- 다른 학습자가 README로 실행·실패 재현·검증을 따라갈 수 있습니다.