持续集成 jenkins 中利用 cmd 命令启动 tomcat,进程被杀

木易 · 2019年02月27日 · 最后由 LEFT 回复于 2019年02月28日 · 4018 次阅读

cmd 命令:
cd d:\tomcat\bin
startup.bat

●控制台输出
由用户 gany 启动
构建中 在工作空间 D:\Jenkins\workspace\3.9.0_test 中
...
D:\Jenkins\workspace\3.9.0_test>startup
Using CATALINA_BASE: "D:\apache-tomcat-8.5.38"
Using CATALINA_HOME: "D:\apache-tomcat-8.5.38"
Using CATALINA_TMPDIR: "D:\apache-tomcat-8.5.38\temp"
Using JRE_HOME: "D:\java\jdk"
Using CLASSPATH: "D:\apache-tomcat-8.5.38\bin\bootstrap.jar;D:\apache-tomcat-8.5.38\bin\tomcat-juli.jar"
Process leaked file descriptors. See https://jenkins.io/redirect/troubleshooting/process-leaked-file-descriptors for more information
Finished: SUCCESS

如上,toucat 无法启动,进程应该直接被杀死,构建成功。。。
度娘,什么增加 BUILD_ID=DontKillMe。。卵用都没有。。。
等待解决办法中。。。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 5 条回复 时间 点赞

耐心点,这个 buildid 还是有用的,Jenkins 构建完成之后会杀掉所有衍生进程,附上https://wiki.jenkins.io/display/JENKINS/ProcessTreeKiller

LEFT 回复

没怎么看明白,应该不是直接加到 cmd 命令里面吧?还是说,需要配置在哪里

简单啦,这种问题。原因在于节点结束了后脚本还没运行完,jenkins 结束节点的时候会把进程一起结束,要不就加个 nohup 后台运行,要不就 sleep 一下,再或者想办法回调状态。

木易 回复

我使用的方案是添加全局配置变量,这样就不需要给每个节点去进行配置了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册