jenkins中通过execute shell启动的进程会被杀死的问题

在jenkins中配置自动更新部署项目时,如果采取用executeshell启动/关闭tomcat,会发现可以进行关闭tomcat,但是无法启动tomcat,虽然构建会显示执行成功,但是查看进程,tomcat是没有启动的。这是因为Jenkins默认会在Build结束后Kill掉所有的衍生进程。需要进行以下配置,才能避免此类情况发生:

1.重设环境变量build_id

在executeshell输入框中加入BUILD_ID=DONTKILLME,即可防止jenkins杀死启动的tomcat进程

2.在启动jenkins的时候禁止jenkins杀死衍生进程

修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree.disable=true。需要重启jenkins生效

此方法配置一次后,所有的job都无需设置BUILD_ID,就能够防止jenkins杀死启动的tomcat进程

相关推荐