이 문서는 Tomcat으로 운영중인 앱을 Bamboo에서 자동으로 배포하는 방법을 정리한다.
Bamboo에서 자동 배포 가능하도록 권한 설정
사용자 및 권한 설정
배포용 사용자 추가 및 권한 설정
... <user username="bamboo" password="password" roles="manager-gui,manager-script"/> ... |
manager-gui: 웹을 통해 앱 관리를 할 경우 추가
접속 가능한 서버 등록
기본적으로 Tomcat은 동일한 서버로부터의 접속만 허용하므로 배포가 이루어질 배포할 Bamboo 서버의 IP 등록이 필요하다.
<Context antiResourceLocking="false" privileged="true" > <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|<배포할 Bamboo 서버의 IP>|<GUI 화면을 접소할 PC의 IP>" /> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> </Context> |
Tomcat 서버 재기동
설정은 Tomcat 재기동 후 반영된다.
bin/shutdown.sh bin/startup.sh |
server.xml의 파일에서 war배포에 대한 옵션 설정. war파일이 서버에 생성되지 않는 부분과는 상관없음.
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> |
Tomcat Manager URL
설정 항목 | 설정값 |
---|---|
Tomcat Manager URL |
|
Tomcat Manager Username |
|
Tomcat Manager Password | tomcat-users.xml 파일에 설정한 Manager user의 암호 |
Application Context | 배포할 application의 context 설정 |
version for Parallel Deployment | 하나의 앱에 여러 버전을 배포하는 경우 설정할 수 있으며, Bamboo build number등의 변수를 사용하면 편리하다. 예) $bamboo_buildNumber |
WAR File | 배포할 war 파일 이름 |
Deployment Tag | undeploy 후 재 배포할 경우 사용할 tag 이름 (tag를 이용해야만 undeploy 가능) 예) 예) $bamboo_buildNumber
|