밀키는 아직 개발단계이다보니 특별한 배포 툴을 두지 않고 있었다.

그냥 이클립스에서 war을 떨구고 톰켓 메니저에 들어서가 웹에서 배포하는 방식을 사용하고 있었다.

뭐 이것도 나름 훌륭하다.




하지만 지난주 이번주 수정하고 외부연동 테스트 할일이 좀있어서 자주 원격지에 있는 테스트 서버에 배포를 하려다 보니,,,

아 구차나...


사실 연초엔가?

원격배포 환경에 대해 알아보다가. 메이븐을 이용해 쉽게 진행할 수 있는 방법을 찾아보았었다.


크게 두가지 방법이 있었는데.


1. tomcat maven plugin(2.0) 사용한 maven deploy

2. cargo를 이용한 maven deploy



1번이 톰켓에서 제공하는 공식적인 방법이라. 1번을 시도했었는데...

이게 문제가 redeploy가 없다;;


아놔 undeploy 후 deploy도 잘 동작하지 않는다.

ㅋㅋ


그래서 cargo 사용해서 해보려다가 시간이 없어서 포기.

걍 웹에서 배포하자 했었는데....


이번에 다시 느낀 귀차니즘이 cargo를 사용해 볼까 하는 마음이 생기게 하였다.



그런데...


http://tomcat.apache.org/ 에 가보니

Tomcat Maven Plugin 2.1 Released 2013-02-25


가 떡하니 써있어서...

혹시나 하는 마음에 설정해보니..

오 redeploy가 생김!!


Tomcat Maven Plugin 2.0 goals

exec-war-only, deploy-only, shutdown, run-war-only, run, deploy, run-war, exec-war


Tomcat Maven Plugin 2.1 goals

exec-war-only, deploy-only, redeploy-only, help, shutdown, run-war-only, standalone-war-only, run, deploy, standalone-war, undeploy, run-war, redeploy, exec-war



대박 ㅋㅋ 동작도 잘 한다..


pom.xml은


<plugin>

<groupId>org.apache.tomcat.maven</groupId>

<artifactId>tomcat7-maven-plugin</artifactId>

<version>2.1</version>

<configuration>

<path>/</path>

<url>http://톰켓서버위치/manager/text</url>

<username>admin</username>

<password>admin</password>

<warFile>target/Millky2.war</warFile>

</configuration>

</plugin>


요정도 설정해주고


tomcat7:redeploy


메이븐에서 이렇게 실행해주면 잘 올라간다 ㅋㅋ


자세한 사항은


http://tomcat.apache.org/maven-plugin-2.1/index.html


요기름 참고해 주세요!!




...


하지만... 그렇게 쉽게 끝나지는 않는다.

Perm Gen 문제가 있으니..



이부분은 아직 나도 확실한 해결책이 없어서 (차버리면 톰캣 재시작 ㅠㅠ)

나중에 풀어보도록 한다.