是否可以根据变量触发下游作业名称?

时间:2017-11-13 14:06:43

标签: jenkins

我创建了一个Jenkins作业,该作业查询AWS CLI并使用一些数据填充变量。

然后触发下游项目,并将父作业中的变量注入下游作业,作为CloudFormation堆栈创建的参数(参数值是最新RDS快照ID的名称)。

我想知道是否有可能根据某些选择参数触发不同的下游项目?

例如,假设父作业具有不同AWS区域的选择参数设置。

启动构建的用户将选择正确的区域,然后根据他的选择,将触发的下游项目是与该区域匹配的项目。

这甚至可能吗? (顺便说一句,这是一个自由式项目)

1 个答案:

答案 0 :(得分:0)

2种方法。

1 - 使用Parameterized Trigger plugin

创建具有多个配置的作业。 在作业中设置矩阵配置(这将是下游作业)。在这种情况下,第二个作业(让我们的调用作业B)有多个配置,可以匹配您想要的每个场景。

在后期构建中选择"在其他项目上触发参数化构建" (在主要工作中,让我们打电话给工作A)。然后"添加参数"和"限制矩阵执行到子集"在这里你把你的var作为作业B中配置组的引用。

2 使用Conditional Build Step plugin

在构建中添加"条件步骤(多个)"。设置"运行?"字符串匹配。在字符串1中,将var($ var1)放在字符串2中,将单词匹配(jobB)。

在运行的步骤中,选择"在其他项目上触发/调用构建"