2016-03-07 32 views
1

我是比较新的詹金斯和不知道许多可用的插件。我需要一点帮助来解决我的一个场景。詹金斯 - 如何使工作触发3个不同节点上的3个项目同时

我有工作(主)触发3个不同的作业(A,B和C)。我需要触发在3级不同的节点这3个项目,我不能硬编码这些节点的名字,但需要从主作业通过。

所以,我的主作业读取这些值从用户参数,并触发A,B和C的工作

任何帮助表示赞赏。

回答

1

下面是使用Jenkins Join插件和Jenkins NodeLabel插件的一个解决方案。

在你的主作业,加上每个孩子作业的一个节点参数:

enter image description here

enter image description here

接下来,添加一个新加入生成后行动使用Parameterized Trigger子作业触发插件(添加了 “当前生成参数” 选项):

enter image description here

它将触发作业test.bruno.A和test.bruno.B并通过2个节点参数,这些工作(NODE_A和节点_B)。

在孩子的工作,你只需要添加一个节点的参数具有相同的名称(NODE_A和节点_B):

enter image description here

(同为作业B ...)

当你触发主作业,您所选择的目标节点为您2项工作:

enter image description here

你的c希尔德作业将使用相关的节点:

enter image description here

enter image description here

我希望它能帮助:)

+0

感谢您的解决方案。我没有“加入插件”测试了这一点。不过,我找到了解决办法。我在主作业中创建了3个字符串参数,并使用“NodeLabel”参数将其传递给子作业。 – abdulH

+0

好的感谢您的更新,很高兴听到您找到解决方案! –