Jenkins 流水线作业,将它们排在队列中,直到执行者空闲

sli*_*cke 5 jenkins jenkins-pipeline

我有一个 Jenkins 管道作业,它依次动态地并行启动其他几个管道作业。目前我只有 1 个节点来执行这些作业。所有这些工作都会立即开始。其中一个实际执行并开始其阶段,而另一个在日志中显示他们正在等待执行程序:

Started by upstream project "parent project" build number 278
originally caused by:
 Started by user user
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] node
Still waiting to schedule task
Waiting for next available executor on win
Run Code Online (Sandbox Code Playgroud)

我非常想改变这种行为,让他们在执行者空闲时开始。在那之前,他们应该留在构建队列中。原因是持续时间将全部显示错误,并且在舞台视图中,当它们尚未真正开始时,它们都开始显示“几乎完成”。

这是子项目管道脚本的开始,我确实需要一个匹配的代理:

pipeline {
agent {
    label "win"
}

stages {

    stage('[Jenkins] Setup') {
Run Code Online (Sandbox Code Playgroud)

这可以以某种方式实现吗?我是否需要切换到脚本化管道?

小智 1

您可以使用限制并发构建插件并将作业中的属性“最大并发构建总数”配置为所需的数量。这样,如果构建数量超过您配置的数量,它将阻止构建运行,并且您可以在队列中看到构建。