tomcat manager 에서 deploy 가능하게 설정 - CI 에서 build 후 deploy 시 필요
개요
tomcat 의 manager 기능은 보안문제때문에 기본적으로 막혀있다.
jenkins 나 bamboo 등의 CI 에서 빌드와 배포를 수행하려면 이 기능을 켜야 한다.
보안상 취약하므로 id/pwd 를 잘 관리해야 하며 manager context 로 들어올 수 있는 client ip 를 제한해야 한다. (Web 서비스 구축시 보안 유의사항 참고)
설정
- tomcat 설치 폴더로 이동
- vi conf/vi tomcat-users.xml
다음과 같이 tomcat-users 에 권한과 user 를 지정
<tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-status"/> <user username="myManagerId" password="secretP^wd" roles="manager-gui,manager-script,manager-status"/> </tomcat-users>
Browser 에서 연결할 경우 manager-gui 권한이 필요하고 CI 등의 외부에서 연결하려면 manager-script 권한 필요
- 저장후 재구동
- http://myserver/manager 컨텍스트에 Browser 로 연결후 manager-id/secretP^wd 로 로그인하여 동작 확인
권한 종류
- manager-gui — Access to the HTML interface.
- manager-status — Access to the "Server Status" page only.
- manager-script — Access to the tools-friendly plain text interface that is described in this document, and to the "Server Status" page.
- manager-jmx — Access to JMX proxy interface and to the "Server Status" page.
Ref