在 Jenkins 构建步骤中开始一个永远的过程?

Pat*_*ick 17 deployment node.js jenkins

我在 Jenkins 部署结束时运行一个 shell 命令来重新启动一个永久脚本:

npm install && forever stop app.js && forever start -a -l /var/log/forever.log app.js
Run Code Online (Sandbox Code Playgroud)

当我以用户 jenkins 的身份运行它时,一切正常,构建历史的控制台输出也告诉我永远脚本正在运行。但是,该过程在部署完成后立即停止,并且永久过程停止。

是什么导致了这种行为,我该如何解决?

小智 28

詹金斯杀死了工作产生的所有进程。

这可以通过将BUILD_ID环境变量设置为其他内容来禁用:

export BUILD_ID=dontKillMe
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller