본문 바로가기
개발툴

Jenkins 에서 shell로 tomcat startup 시 동작하지 않는 문제

by 탁구치는 개발자 2014. 1. 26.

젠킨스에서 프로젝트 빌드 후 Post Steps의 Execute shell에 배포 스크립트를 등록하여 사용하고자 하였다.


shell 스크립트가 하는 일은 대략 다음과 같다.

1. tomcat process를 kill

2. 빌드된 war 파일을 톰켓의 컨텍스트 패스 디렉토리에 풀어줌

3. tomcat start

헌데 tomcat start가 되질 않는다.


해당 원인은 jenkins에서 job 빌드 수행이 완료되면 child process를 모두 kill하기 때문이라고 한다.


해결 방법 URL

stackoverflow URL


다음과 같이 BUILD_ID=dontKillMe "shell 스크립트 경로" 를 추가하여 문제를 해결하였다.

ps -ef | grep mySpringProject | grep -v grep | awk '{ print $2}' | xargs kill;

rm -rf /home/nklee/was/wepApps/mySpringProject;

mkdir /home/nklee/was/wepApps/mySpringProject;

cd /home/nklee/was/wepApps/mySpringProject;

BUILD_ID=dontKillMe /home/nklee/was/apache-tomcat-6.0.37/bin/startup.sh;

/home/nklee/java/jdk1.7.0_40/bin/jar xf /home/nklee/was/wepApps/upload_war/mySpringProject.war;


또는 job의 설정페이지로 이동하여 파라미터 정보를 셋팅하면 된다.