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