将管道多分支项目的工作区传递给下游自由式项目

Pass workspace of pipeline multibranch project to downstream freestyle project

我的设置如下:

我有一个顶级多分支管道项目,它构建了我的 git 项目的各个分支。此外,我有一个单独的自由式项目,用于分析各个多分支管道项目。这是一个自由式项目,因为它需要尚未更新以包含管道支持的插件的功能。

由于每个单独的多分支管道项目都使用一个单独的工作区,因此我需要有关自由式项目中上游工作区的信息。我该怎么做?

您可以在您的下游自由式项目中使用 Jenkins Copy Artifact plugin,结合字符串参数来定义您应该从哪个作业复制工件。

上游作业 :

build job: downstreamJob, parameters: [
      [$class: 'StringParameterValue', name: 'jobName', value: "${env.JOB_NAME}"]
]

下游工作 :

  1. 添加一个字符串参数jobName
  2. Copy Artifact plugin中,只需将${jobName}放在Project name部分