【问题标题】:Keep Jenkins child process running after build completes构建完成后保持 Jenkins 子进程运行
【发布时间】:2021-08-30 19:16:33
【问题描述】:

我正在尝试弄清楚如何在 Jenkins 构建完成后保持进程运行。

我有一个构建步骤,假设关闭当前 node.exe 进程并通过调用“npm start”重新启动它。这是restart_node.bat的内容

Taskkill /IM node.exe /F
cd C:\node
call npm start

我可以看到它成功停止并启动了一个新进程,但是一旦构建完成...... node.exe 进程就会被杀死。如何在构建后让它继续运行?

【问题讨论】:

  • 搜索“[jenkins]后台进程”或“[jenkins]长时间运行进程”或“[jenkins]分离进程”;很多问答。

标签: python jenkins npm


【解决方案1】:
  1. 将名为 BUILD_ID 的环境变量设置为您选择的某个值,Jenkins 应该意识到您希望“不杀死”孩子。

    • 如果是 Jenkins Pipeline,请使用 JENKINS_NODE_COOKIE 而不是 BUILD_ID
  2. 您可能希望使用“sh”(例如 bash)而不是“Windows Batch 命令”,或者,您可能需要进一步了解有关“cmd.exe”如何处理(或不)杀死它的更多细节子进程。

参考资料:

【讨论】:

  • 感谢您的信息。我对 Jenkins 有点陌生。我在哪里设置环境变量“BUILD_ID”以及如何设置?
猜你喜欢
  • 2015-04-07
  • 2011-10-11
  • 1970-01-01
  • 2018-04-27
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
  • 2013-12-08
  • 1970-01-01
相关资源
最近更新 更多