Jenkins矩阵作业不会触发多个下游作业

时间:2016-11-11 12:19:59

标签: jenkins jenkins-plugins

我已经配置了一个总共有4个轴点的Jenkins矩阵作业。对于每个轴,都有一个构建步骤(参数化触发器)触发另一个项目添加当前构建参数。所有四个作业都使用不同的参数触发相同的作业。

我看到的问题是只有一个淹没的流作业被执行,我希望4。

这不是一个构建后的任务,它被设置为构建步骤。这是参数化触发器插件维基页面中的描述:

  

构建步骤

     

使用触发器参数化构建作为构建步骤时   它将被调用用于每个不同的配置,因此如果触发   没有参数的另一个项目将完成相同的数量   您有配置的时间,可能导致触发的作业   不止一次。

     

但是,这也允许您使用参数触发其他作业   与当前配置有关,即触发建立在   具有相同JDK的相同节点。

这是下游作业的日志条目,它显示了所有触发器,但它们似乎都在启动相同的工作:

Started by upstream project "AndroidLibraries_Mx_Branch_5_1_x/ProductType=video,SecurityType=standard" build number 12
originally caused by:
 Started by upstream project "AndroidLibraries_Mx_Branch_5_1_x" build number 12
 originally caused by:
  Started by user anonymous
Started by upstream project "AndroidLibraries_Mx_Branch_5_1_x/ProductType=video,SecurityType=secure" build number 12
originally caused by:
 Started by upstream project "AndroidLibraries_Mx_Branch_5_1_x" build number 12
 originally caused by:
  Started by user anonymous
Started by upstream project "AndroidLibraries_Mx_Branch_5_1_x/ProductType=voice,SecurityType=standard" build number 12
originally caused by:
 Started by upstream project "AndroidLibraries_Mx_Branch_5_1_x" build number 12
 originally caused by:
  Started by user anonymous
Started by upstream project "AndroidLibraries_Mx_Branch_5_1_x/ProductType=voice,SecurityType=secure" build number 12
originally caused by:
 Started by upstream project "AndroidLibraries_Mx_Branch_5_1_x" build number 12
 originally caused by:
  Started by user anonymous
[Pipeline] node
Running on master in /var/lib/jenkins/workspace/AndroidLibrary_pipeline

<... job details ... >

如果它有任何不同,下游作业是一个管道作业,如名称所示。

  • Jenkins 2.19.2
  • Matrix Plugin 1.7.1
  • 参数化触发插件2.32
  • Pipeline 2.4

我做了很多搜索,当我发现similar问题时,接受的答案没有帮助。

1 个答案:

答案 0 :(得分:1)

我明白了。参数未正确传递给子作业。我有&#34;当前构建参数&#34;在触发器参数化作业集中设置选项,但我必须添加&#34;预定义参数&#34;另外,添加子作业所期望的参数。

db.data.aggregate([
{$match:{temperature:{$ne: null}}},
{$sort:{timestamp: -1}},
{$group:{_id: "$type", temperature: {$first: "$temperature"}, timestampe: {$first: "$timestamp"}}}
])