在 Jenkins 中,如何指定构建阶段节点但限制整体构建作业的运行位置?

In Jenkins, how to specify build phase nodes but restrict where overall build job runs?

我目前有一个 MultiJob (https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin),它启动了一系列构建阶段。我想要做的是在一个节点上启动 MultiJob,然后 运行 接下来的两个构建阶段在 select 数量的节点上。

使用 NodeLabel 插件 (https://wiki.jenkins-ci.org/display/JENKINS/NodeLabel+Parameter+Plugin) 可以让我指定所需的节点并将它们传递到我的构建步骤,但是 select 使用多个节点也会导致 MultiJob 多次 运行 .有没有一种简单的方法可以传递参数但限制整体 MultiJob 运行s 的位置?使用 NodeLabel 会忽略 "Restrict where this project can be run" 标志。

如果没有办法在 MultiJob 本身上执行此操作,我的第二个计划是在 select 节点上创建一个作业,填充设置文件,在一个节点上触发 MultiJob,然后让所有构建阶段从已知位置读取设置文件到 运行 它们的节点。

使用groovy插件脚本到select多作业阶段。 为此,您还需要安装 Multijob plugin jenkins.

它提供了许多选项来传递您的节点或任何参数。

您可以使用这些插件限制或允许特定的多作业阶段。