通过Jenkins远程执行shell无法启动tomcat,log没有任何报错输出,而手动在服务器上操作启动tomcat没有问题,所以这种原因只能是Jenkins导致的。
通过查找相关文档发现,Jenkins在Job构建结束后认为tomcat进程未终止,所以将其kill掉了。
我这里附上一个官方wiki:https://wiki.jenkins.io/display/JENKINS/Spawning+processes+from+build
当前Jenkins远程执行启动的脚本为
/tomcat/bin/startup.sh
|---|------------------------| | 1 | /tomcat/bin/startup.sh |
解决办法:
当前以Centos为例,安装daemonize命令来启动tomcat
yum install daemonize
|---|-----------------------| | 1 | yum install daemonize |
将启动脚本改成
daemonize /tomcat/bin/startup.sh
|---|----------------------------------| | 1 | daemonize /tomcat/bin/startup.sh |