我在Jenkins部署结束时运行一个shell命令来重新启动永远脚本:
npm install && forever stop app.js && forever start -a -l /var/log/forever.log app.js
当我作为用户jenkins运行时,一切正常,从构build历史logging的控制台输出也告诉我永远脚本正在运行。 但是,该过程在部署完成后立即停止,永久进程停止。
是什么导致了这种行为,我该如何解决?
jenkins杀死了工作产生的所有过程。
这可以通过将BUILD_ID
环境variables设置为BUILD_ID
值来禁用:
export BUILD_ID=dontKillMe
详情请参阅https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller
这个问题是相当古老的,但我认为在这种情况下有一个更好的解决scheme。
使用Post-Build脚本插件
自2016年初以来,插件本身没有更新,但是它完成了这项工作,而且您不必摆弄环境variables。 似乎有点整洁我。