将 s3 工件从并行构建传递到 Jenkins Workflow 中的单个构建

Passing s3 artifacts from parallel builds to a single build in Jenkins Workflow

我正在尝试通过 Jenkins 构建 Windows 安装程序。

我有许多构建单独模块的 jenkins 项目,然后通过 s3 工件插件将这些工件保存在 s3 中。

我想 运行 这些并行并将工件复制到最终的 "build-installer" 作业,该作业采用所有这些并构建安装程序映像。我想出了如何 运行 与詹金斯工作流程并行的工作,但我不知道去哪里寻找如何提取工作结果详细信息,确保它们都是相同的变更集并将其传递给 'build-installer'工作。

到目前为止我有这样的工作流脚本:

def packageBuilds = [:]
// these save artifacts to s3:
packageBuilds['moduleA'] = { a_job = build 'a_job' }
packageBuilds['moduleB'] = { b_job = build 'b_job' }
parallel packageBuilds

// pass artifacts from another jobs to below??
build job:'build-installer', parameters:????

这是正确的方法吗?或者我应该只做一个大型构建工作,在一个工作中构建模块和安装程序?

一个完成所有步骤的工作会更容易管理。

我知道尚不支持将文件参数发送到 Workflow 作业:JENKINS-27413。我没有尝试使用文件参数从 工作流作业发送文件 。如果没有一些特殊支持,可能无法工作。 (就此而言,不确定您是否甚至可以在自由式构建之间发送文件参数。)