Maven으로 Tomcat에 배포하는 경우 보통 mvn install 키워드로 war파일로 패키징 한 후,
만들어진 파일을 원격지에 접속하여 FTP / SCP등으로 Tomcat의 webapps폴더에 넣어서 배포를 하게 됩니다.
매번 FTP / SCP 등으로 원격지에 접속해서 파일을 넣는게 비효율적인 일 같아서,
이것저것 알아보던 중 Tomcat Maven plugin이라는 것을 알게 되었습니다.
지금까지 비효율적이었던 일들을 mvn tomcat7:redeploy 명령어만으로,
로컬 환경에서 원격지의 톰캣 webapps폴더를 찾아서, 바로 배포를 해주는 강력한 플러그인입니다.
일단 Tomcat Manager관련 세팅이 필요합니다.
톰캣이 설치된 폴더의 conf/tomcat-users.xml에 계정 등록을 해주고, 해당 계정에 매니저 권한을 주어야 합니다.
(여러계정으로 관리하여, 권한을 달리 설정할 수도 있는 것으로 보입니다.)
아래와 같이 설정해줍니다.
[tomcat-users.xml]
<tomcat-users> <role rolename="manager-gui" /> <role rolename="manager-script" /> <role rolename="manager-status" /> <role rolename="manager-jmx" /> <user username="사용할 아이디" password="사용할 패스워드" roles="admin-gui,manager-gui,manager-script,manager-status,manager-jmx" /> </tomcat-users>
어플리케이션의 pom.xml로 돌아와서, 세팅을 해줍니다.
[pom.xml]
<build> <plugins> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>배포할 경로</path> <url>톰캣이 설치된 원격지의 접속 url/manager/text</url> <username>톰캣매니저에 설정한 아이디</username> <password>톰캣매니저에 설정한 패스워드</password> </configuration> </plugins> </build>
위와 같이 설정을 마친 후, mvn tomcat7:redeploy (deploy, undeploy가 따로따로 있습니다만, 저는 귀찮아서 undeploy -> deploy기능을 동시에 하는, redeploy를 사용합니다.)를 해주면, 지정한 원격지에 배포가 됩니다.
웹 접속 기반으로 파일을 올리는 것이기 때문에, 웹 접속 IP에 대한 방화벽만 오픈하시면 어디서든 사용이 가능합니다.
'개발 > Maven' 카테고리의 다른 글
[Maven] Profile과 Maven War Plugin를 이용한 배포환경 구축 (0) | 2016.06.11 |
---|---|
[Maven] Artifact를 이용한 String형태의 버전 비교 (0) | 2016.06.11 |
[Nexus] 설치 및 구성 (0) | 2016.06.11 |
[Nexus] Deploy 및 프로젝트 공유 (0) | 2016.06.11 |
[Maven] Nexus에 Deploy시에 포함된 소스까지 Deploy하기 (0) | 2016.06.11 |