10장 Tomcat Manager 자동 배포를 좁게 연다
Tomcat Manager text API는 서버 전체를 재시작하지 않고 WAR를 배포·중지·제거할 수 있다. 편리한 만큼 권한이 크다. manager-script 역할만 가진 전용 계정을 사용하고 인터넷에 공개하지 않는다.
GET /manager/text/list
PUT /manager/text/deploy?path=/releaseportal&update=true
GET /manager/text/stop?path=/releaseportal
GET /manager/text/undeploy?path=/releaseportal
자동화에서는 자격 증명을 스크립트, Git, shell history, CI 로그에 넣지 않는다. secret file이나 CI credential helper에서 짧게 주입하고 응답이 OK로 시작하는지 확인한다. HTTP 200만으로 성공을 판정하면 FAIL - ... 본문을 놓칠 수 있다.
Manager의 update=true는 기존 앱을 내리고 다시 배포할 수 있으므로 무중단을 자동으로 보장하지 않는다. 세션, warm-up, DB migration과 트래픽 구조를 별도로 설계한다.