jenkins自动部署|jenkins自动杀掉衍生进程怎么解决

时间:2020-09-24  来源:js教程  阅读:

 公司要求用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了,换个吧

原文来自:blog.slogra.com

jenkins自动部署|jenkins自动杀掉衍生进程怎么解决

http://m.bbyears.com/wangyezhizuo/100599.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新