[server] Tomcat Parallel Deployment, 기존 애플리케이션을 자동으로 배포 해제

나는 Tomcat 8의 병렬 배포를 한동안 무중단 연속 배포 설정의 일부로 사용하고 있습니다.

테스트 건틀릿이 실행되면 CI 서버는 자동으로 .war 파일의 이름을 application ## {version-number} .war로 바꾸고 war을 / webapp 폴더에 복사합니다. application ## 333은 application ## 332와 공존 할 것입니다.

내가 겪고있는 유일한 문제는 모든 트래픽 (새 세션)이 자동으로 새 트래픽으로 전환되면 이전 응용 프로그램을 수동으로 배포 취소해야한다는 것입니다.

Tomcat에 “이 서비스가 세션이 0이되면 제거해야합니다”라는 기본 메커니즘이 있습니까? 내가 막을 수있는 일종의 “마지막 세션이 만료되었습니다”이벤트 일 수도 있습니다.

다른 사람이 이런 종류의 응용 프로그램 배포를 자동화하지 않았다면 그 소식을 듣고 싶습니다. 감사!



답변

이전 애플리케이션을 제거하도록 Tomcat을 구성 할 수 있습니다. 요소에 undeployOldVersions속성 을 추가 Host하고로 설정해야합니다 true. server.xml에서 호스트를 다음과 같이 수정해야합니다.

<Host undeployOldVersions="true" ...>
   ...
</Host>

자세한 내용은 호스트 설명서 를 참조하십시오. 특히 자동 배포가 활성화 된 경우에만 작동합니다.


답변