【发布时间】:2016-04-29 03:00:08
【问题描述】:
我知道这篇文章类似于: Aggregating results of downstream is no test in Jenkins
还有: Aggregating results of downstream parameterised jobs in Jenkins
尽管如此,我无法弄清楚我的情况,如何使它工作。我目前正在使用 Jenkins 1.655。
我有工作 A、B、C - A 是上游工作。我想要做的是让 A 调用 B 和 B 调用 C。都需要 block 并等待下一个完成。如果一个失败,所有的失败。 B 和 C 生成单元测试报告。所以我想在 A 中汇总这些报告,然后在 A 中发布结果。所以,这是当前的作业设置:
工作 A:
构建步骤
- 执行外壳:
echo $(date) > aggregate - 触发参数化构建作业:作业 B
发布构建步骤
- 聚合下游测试结果
-
记录文件指纹以跟踪使用情况:将文件指纹设置为
aggregate - 发布 JUnit 测试结果报告(来自 B 和 C 的报告文件)
工作 B:
构建步骤
- 从另一个项目复制工件:从上游作业
aggregate文件复制 - 运行测试以生成单元测试报告
- 触发参数化构建作业:作业 C
它最终在这里失败了,因为
aggregate只存档在 发布作业 A 的构建步骤。如何在构建步骤中归档工件?
发布构建步骤
- 聚合下游测试结果(生成单元test.xml)
-
记录文件指纹以跟踪使用情况:将文件指纹设置为
aggregate
为简单起见,我不会在此处发布作业 C,但它与 B 所做的差不多。
所以,总结起来,我希望有相互依赖并使用参数化插件的互连作业,上游作业必须聚合所有下游的测试结果。
任何帮助表示赞赏,谢谢!
【问题讨论】: