본문으로 바로가기

Release를 Smoke와 Rollback 증거로 닫기

이미지가 만들어졌다는 사실은 사용자가 정상 경로를 사용할 수 있다는 증거가 아닙니다. 검사한 commit과 실행 image를 묶고, health 뒤에 실제 DB를 읽는 smoke를 실행해야 합니다.

5회 조회약 2분 읽기
X에 공유 새 창에서 열림
목차

이미지가 만들어졌다는 사실은 사용자가 정상 경로를 사용할 수 있다는 증거가 아닙니다. 검사한 commit과 실행 image를 묶고, health 뒤에 실제 DB를 읽는 smoke를 실행해야 합니다.

최소 순서

  1. clean worktree와 대상 서비스를 명시합니다.
  2. Git SHA tag image를 build하거나 이미 존재하는 같은 tag를 재사용합니다.
  3. 대상만 --no-deps --force-recreate로 교체합니다.
  4. container readiness와 서비스별 실제 읽기 smoke를 확인합니다.
  5. 실패하면 직전 image를 rollback tag로 복원하고 readiness를 다시 확인합니다.

SSR과 정적 미러

SSR과 정적 미러는 별도 산출물입니다. DB-only 변경 뒤 미러가 옛 export를 제공할 수 있으므로 콘솔 시드·SSR 공개 읽기·export 내용·정적 배포·양언어 route를 각각 확인합니다. 성공·rollback 로그와 tag를 release 기록으로 보존합니다.

증거가 닫히는 지점

단계 약한 증거 완료를 증명하는 증거
빌드 이미지 생성 로그 이미지 tag와 검증한 Git SHA 일치
기동 프로세스 running dependency를 포함한 readiness 통과
기능 정적 /health 200 실제 DB-backed 읽기와 핵심 사용자 경로 응답
실패 이전 이미지 tag 존재 이전 이미지 재기동 후 readiness·smoke 재통과
미러 정적 배포 성공 source·export 필드 drift 0과 공개 route 확인
commit ──build──▶ immutable image ──replace──▶ readiness
   ▲                                      │
   └──────── rollback + smoke ◀── failure ┘

새 컨테이너를 지우는 것으로 rollback이 끝나지는 않습니다. 직전 인스턴스가 다시 요청을 처리하는지 확인해야 하며, smoke는 데이터를 바꾸지 않는 대표 조회여야 합니다.

관련 강좌: 검증된 Commit을 Release와 이미지로 묶기

quality 카테고리의 다른 글

카테고리 전체 보기 →

이 글이 도움이 되었나요?