Jenkins 在作业完成后终止进程

问题描述 投票:0回答:1

我有一个启动进程的 powershell 脚本

$pinfo = New-Object System.Diagnostics.ProcessStartInfo
// $pinfo = <necessary_settings>

$p = New-Object System.Diagnostics.Process
$p.StartInfo = $pinfo

$p.Start()

我用这个过程做了一些事情,然后工作结束。当作业结束时,詹金斯终止此进程,但我希望它继续存在,因为下一个连续作业也需要该进程。我该怎么做?

我搜索了一个解决方案并找到了 2 个,但无法弄清楚如何准确使用它们

  1. -Dhudson.util.ProcessTree.disable=true 在从属节点上启动 jenkins 时将此作为参数传递,但它不接受它作为有效选项。我不确定我是否做对了

  2. BUILD_ID=dontKillMe - 我看到了一些使用这个的建议,但我不知道在哪里传递这个?

jenkins
1个回答
0
投票

它应该像这样工作:

withEnv(['BUILD_ID=dontKillMe']) {
  powershell '''
    ...
  '''
}

还没有尝试过它是否确实使进程保持活动状态,但这就是将环境变量传递给脚本的方式

© www.soinside.com 2019 - 2024. All rights reserved.