jenkins 在build一个项目时,如果该项目会启动一个后台Daemon,当Jenkins Build完毕时,此进程会被Jenkins杀死,这是默认的行为。
具体可参见:
破解方法就是,在包含Jenkins的Tomcat的启动脚本 starup.sh 里添加以下一行:
export JAVA_OPTS="-Dhudson.util.ProcessTree.disable=true"
https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller
这里的意思是指Jenkins不再控制后台程序,而由用户来控制。
适用的典型应用是:你会自动化的部署Tomcat,Tomcat是一个进程,如果不放开控制,Jenkins会在Build结束后杀死你部署的Tomcat进程。