# Jenkins自动化部署运行Tomcat显示Tomcat started但启动不成功

前些时候在Jenkins中运行shell脚本做自动化部署时,命令中Tomcat启动命令start.sh执行后显示 Tomcat started. 但实际Tomcat没有启动起来,后来找到原因把问题解决了,继续在这里做一下记录。

解决办法:在脚本执行之前添加环境变量:export BUILD_ID=dontkill 后面dontkill的值可以随便设置。 再次构建就不会再杀掉衍生进程了。

原因:百度查了下,是因为Jenkins在之执行构建时会设置一些环境变量,而这些环境变量也会被构建所衍生出来的进程继承。

在构建任务结束时,Jenkins会检查环境变量,如果查到有之前设置的环境变量的进程就会kill掉,我们可以在构建时改变BUILD_ID的值,从而让衍生进程在构建结束时不会被kill掉。