聚合多个上游作业的测试结果

时间:2016-05-08 12:26:20

标签: jenkins jenkins-plugins

我有一个参数化的Jenkins作业,每当任何一个上游作业都有稳定的构建时就会被执行;上游工作的数量可以变化,但至少总是有一个。

(从这里开始,我将上游作业称为upstream,将下游作业称为downstream

从图形上看,它是这样的:

Upstream_1 ... Upstream_N
  |                   |
  |                   |
  \                   /
   \                 /
    \               / 
     |             |
  Downstream_Parametrized_Job

downstream在特殊环境中执行,单元测试触发执行的upstream(必须在此特定环境中测试所有upstreams

我能够在upstream中为特定作业聚合测试结果,但我很难将这一点概括为任意数量的上游作业。

对于单个作业,我已关注this solution,在downstream中指定upstream复制指纹工件的位置。

Getting the artifact from the upstream

但这是一个问题,因为我可以有几个upstreams而我无法直接指定所有名称。

有没有办法告诉Jenkins从触发作业的特定upstream获取工件,而不指定名称?

因此,在图片中,不是键入UPSTREAM_1,而是可以使用环境变量,例如${UPSTREAM_JOB_NAME}吗?

here,我没有看到任何类似的内置变量,但如果没有记录,我也不会感到惊讶)

1 个答案:

答案 0 :(得分:2)

复制工件插件的页面有一个部分:

  

Specifying project dynamically (with variables)

在下游定义参数UPSTREAM_JOB_NAME,并在从上游触发时相应地设置它。