我有一个参数化的Jenkins
作业,每当任何一个上游作业都有稳定的构建时就会被执行;上游工作的数量可以变化,但至少总是有一个。
(从这里开始,我将上游作业称为upstream
,将下游作业称为downstream
)
从图形上看,它是这样的:
Upstream_1 ... Upstream_N
| |
| |
\ /
\ /
\ /
| |
Downstream_Parametrized_Job
downstream
在特殊环境中执行,单元测试触发执行的upstream
(必须在此特定环境中测试所有upstreams
)
我能够在upstream
中为特定作业聚合测试结果,但我很难将这一点概括为任意数量的上游作业。
对于单个作业,我已关注this solution,在downstream
中指定upstream
复制指纹工件的位置。
但这是一个问题,因为我可以有几个upstreams
而我无法直接指定所有名称。
有没有办法告诉Jenkins
从触发作业的特定upstream
获取工件,而不指定名称?
因此,在图片中,不是键入UPSTREAM_1
,而是可以使用环境变量,例如${UPSTREAM_JOB_NAME}
吗?
(here,我没有看到任何类似的内置变量,但如果没有记录,我也不会感到惊讶)
答案 0 :(得分:2)
复制工件插件的页面有一个部分:
在下游定义参数UPSTREAM_JOB_NAME
,并在从上游触发时相应地设置它。