WEBBOOK CHAPTER

WAR 배포, 밤에 깨지 않게: 12장 health·smoke·지표가 모두 통과해야 승격한다

12장 health·smoke·지표가 모두 통과해야 승격한다

프로세스가 떠 있다는 health만으로는 로그인, DB 쓰기, 정적 자원, proxy path가 정상인지 알 수 없다. 검사를 층으로 나눈다.

  1. 아티팩트: 체크섬과 WAR 필수 항목
  2. 기동: Tomcat context가 STARTED인지
  3. readiness: DB와 필수 의존성 준비
  4. smoke: 대표 사용자 경로의 읽기·쓰기
  5. 외부 경로: Nginx와 실제 hostname을 거친 HTTPS
  6. 지표: 오류율, p95, JVM, DB pool, thread

curl --fail --silent http://127.0.0.1:8080/releaseportal/health
curl --fail --silent https://portal.example.com/releaseportal/health

두 응답이 다르면 애플리케이션보다 proxy route, Host header, context path, 인증서를 본다. curl -k는 인증서 검증을 끄므로 정상 판정에 사용하지 않는다. 개발용 self-signed fixture에서만 그 한계를 이해하고 쓴다.

ReleasePortal에서 WAR와 TLS 교체 후보를 같은 기준으로 판정하는 화면
ReleasePortal에서 WAR와 TLS 교체 후보를 같은 기준으로 판정하는 화면

3부 인증서를 안전하게 교체한다