解决jenkins自动杀掉衍生进程

post by rocdk890 / 2016-5-16 11:46 Monday linux技术
  公司要求用jenkins来自动部署nodejs的代码,当我用docker把jenkins和node整合到一起,用jenkins自动构建的时候,我才发现jenkins每次构建完了后要自动杀掉我的node部署shell脚本,网上到处找解决办法,花了三个工作日终于解决问题了.
  软件版本:
  jenkins 1.651.2
  node 5.3.0
  docker 1.7.1
解决办法:
1.启动 Jenkins 的时候加上 -Dhudson.util.ProcessTree.disable=true,也就是 java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war
2.在后台进程前加上 BUILD_ID=dontKillMe,也就是 BUILD_ID=dontKillMe nohup npm start >/var/app/nohup.out 2>&1 &

用了上面二个方法后,就解决jenkins自动杀npm进程的问题了.

ps:下面是其他网上找的一些方法,当然能不能解决问题我就不知道了.
1.在execute shell输入框中加入BUILD_ID=DONTKILLME,即可防止jenkins杀死启动的进程
点击查看原图
2.临时改变BUILD_ID值,使得jenkins不会找到并结束掉run.sh启动的后台进程
OLD_BUILD_ID=$BUILD_ID
echo $OLD_BUILD_ID
BUILD_ID=dontKillMe
./run.sh restart
#改回原来的BUILD_ID值
BUILD_ID=$OLD_BUILD_ID
echo $BUILD_ID

好了,如果这些方法都不能帮助你解决问题的话,那我还是建议你不要用jenkins了,换个吧.
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-652.html

标签: kill 杀掉 jenkins 子进程 衍生进程 shell脚本

评论: