2

我目前有两份工作将在同一时间运行。

我有两个从站设置,所以希望如果作业#1 在从站#1 上开始,那么当作业#2 开始时,它会看到从站#1 很忙并使用从站#2。

我已经安装了 NodeLabel 参数插件,将默认节点设置为从 #1,以及每个作业的从 #1 和 #2 的可能节点。我已将节点资格设置为“忽略离线节点”和“仅在作业成功时运行下一个构建”(只是因为我不是 100% 确定要选择什么)。

我看到的问题是:

  • 如果第二个作业开始时从 #1 正在使用,它会显示“(待定 - 等待从 #1 上的下一个可用执行程序)[NodeParameterValue: slave#1=slave#2]”而不是在从 #2 上启动

  • 当我手动构建此作业时,它不会自动选择默认节点,而是让我选择使用“带参数构建”

我猜我错过了一些相当简单的东西,因为我认为这一定是这个插件的常见用途......根据哪个未使用来动态选择一个奴隶?

4

1 回答 1

2

我通过确保被调用的作业将默认节点和可能节点都设置为相同的两个从节点来解决这个问题。(而不是默认值只是#1)。

其次,调用从属的作业必须在 .properties 文件中设置一个变量,该作业定义了应该运行哪个节点。然后使用调用作业中的“标签工厂选项的所有节点”读取此变量。

这篇文章很有帮助,但就像我说的那样,我使用了“标签工厂的节点”而不是他推荐的“节点标签参数”选项:http: //www.shaunabram.com/dynamically-set-jenkins-node/

于 2016-05-06T09:16:03.403 回答