联系
Knight's Tale » 技术

jenkins 执行后台程序

2014-09-18 02:25

jenkins 在build一个项目时,如果该项目会启动一个后台Daemon,当Jenkins Build完毕时,此进程会被Jenkins杀死,这是默认的行为。

具体可参见:

  1. http://dmitrijs.artjomenko.com/2013/04/run-background-java-process-from-jenkins.html
  2. https://wiki.jenkins-ci.org/display/JENKINS/Features+controlled+by+system+properties

破解方法就是,在包含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进程。

本文链接地址:jenkins 执行后台程序