Tomcat plugin 을 이용한 배포.
만일 WAS 서버를 Tomcat 을 이용해 개발을 하고 있다면 Maven tomcat7 플러그인을 이용해서 배포를 할 수 있다. 참고로 이클립스의 tomcat add-on 과는 다른 것이다. 이것은 Tomcat 에서 제공하는 Manager 기능을 이용한 것이다.
그리고 이 문서의 내용은 Tomcat 8 버전에서도 이용 가능 하다.
Tomcat 설정
Tomcat 의 Manager 기능을 이용하는 것이여서 Tomcat Manager 설정을 먼저 해줘야 한다. 아시겠지만 Manager 접근을 위해서는 인증 설정을 해줘야 하는데 이 인증은 Tomcat 의 ㅊCATALINA_HOME/conf/tomcat-users.xml 파일을 다음과 같이 설정 해준다.
1 2 3 |
<role rolename="manager-script" /> <role rolename="manager-status"/> <user username="tomcat" password="tomcat" roles="manager-script, manager-status"/> |
Tomcat 방화벽 설정
앞서 설정을 한다고 해도 원격에서 Manager 접속은 불가능 하다. 왜냐하면 Tomcat 자체에 Manager 접속을 로컬호스트만 허용하도록 되어 있기 때문이다. 이것은 “CATALINA_HOME/webapps/manager/META-INF/context.xml” 파일에 설정되어 있다.
1 2 |
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192\.168\.96\.3|192\.168\.96\.2|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> |
위 설정을 보면 ‘192.168.96.2,192.168.96.3’ 두개의 원격아이피가 허용되어 있다.
이 설정은 매우 중요하다. 모든 설정이 정상인데도 배포 실패가 나온다면 이 설정을 잘 살펴봐냐 한다.
Maven 설정(pom.xml)
이제 pom.xml 설정을 해야 한다. Maven 에서는 Tomcat Manager 에 원격 접속해 배포할수 있도록 도와주는 플러그인을 제공하는데 그 설정은 다음과 같다.
1 2 3 4 5 6 7 8 9 10 11 |
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/Hello</path> <url>http://192.168.96.2:8080/manager/text</url> <username>tomcat</username> <password>tomcat</password> </configuration> </plugin> |
package tomcat7:[deploy|undeploy|redeploy]
tomcat7 maven 플러그인은 위 주제와 같이 사용하면 된다. Maven Build 시에 위 내용을 입력하면 설정한 Manager URL 로 배포 파일을 업로드 해주는데 이때 업로드 되는 파일 이름은 path 설정 이름으로 된다.