Atlassian Bamboo多阶段计划跨作业收集工件并合并测试结果咨询
问题解答
1. 需求可行性
完全可行,Atlassian Bamboo的阶段与作业机制原生支持跨作业收集工件,并在最终阶段合并处理测试结果。
2. 结果目录路径指定
- 每个生成测试结果的作业,在作业的「工件」配置中,设置「复制自」为测试框架输出结果的实际路径(比如
target/surefire-reports,具体依你使用的测试工具而定);「复制到」可以指定一个统一的相对路径,比如test-results/${bamboo.jobName},这样每个作业的结果会被归类到以作业名命名的子目录中,方便最终阶段区分来源。 - 最终阶段的作业无需额外指定路径,Bamboo会自动将所有共享工件拉取到当前作业的工作目录下,直接引用即可。
3. 是否需要复制至其他文件夹
不需要手动复制。只要在每个生成测试结果的作业中,正确配置工件发布规则(勾选「共享工件」选项),Bamboo会自动将这些工件存储到服务器的工件库中,后续阶段的作业在执行前会自动拉取所有已共享的工件到本地工作目录,直接使用即可。
补充操作参考
- 打开测试作业的配置页,找到「工件」配置项
- 添加工件规则:
- 复制自:填写测试结果的生成目录(如
build/test-results) - 复制到:填写统一的归类子目录(如
job-results/${bamboo.jobKey}) - 勾选「共享工件」,确保后续阶段能访问该工件
- 复制自:填写测试结果的生成目录(如
- 最终阶段的作业中,直接遍历
job-results目录下的子文件夹,执行合并测试结果的脚本(比如用mvn surefire-report:report-aggregate或自定义脚本)
内容的提问来源于stack exchange,提问作者Archie
相关产品推荐
相关产品推荐

