WEBBOOK CHAPTER

WAR 배포, 밤에 깨지 않게: 23장 CI/CD pipeline에 중단 조건을 넣는다

23장 CI/CD pipeline에 중단 조건을 넣는다

좋은 pipeline은 단계가 많아서가 아니라 실패를 안전하게 멈춘다.


source checkout
  → unit/integration test
  → WAR package
  → archive/SBOM/secret scan
  → checksum/sign
  → artifact repository
  → staging deploy
  → internal smoke
  → approval
  → production canary
  → metrics gate
  → promote or rollback

CI runner가 운영 Tomcat의 모든 권한을 상시 가지지 않게 한다. 짧은 수명의 배포 자격 증명, 환경별 승인, protected branch와 immutable artifact를 사용한다. Manager 자격 증명과 TLS private key를 같은 secret에 넣지 않는다.

배포 중복도 막는다. 같은 서비스에 두 pipeline이 동시에 webapps를 바꾸면 마지막 writer가 누구인지 알 수 없다. 환경별 lock이나 deployment queue를 둔다. 외부 응답이 끊겼다고 deploy를 바로 재시도하지 말고 서버의 현재 version과 작업 상태를 조회한다.