运行主项目后,每个下游项目都有测试结果,但“最新聚合测试结果”没有测试.如何配置Jenkins以使所有测试结果显示在聚合列表中?
汇总下游测试结果并不明显,也没有记录.以下步骤从
How To Aggregate Downstream Test Results in Hudson合成.
出于某种原因,在b的配置的第2步,此shell命令未在下面呈现
xml='<testsuite tests="3"> <testcase classname="foo" name="ASuccessfulTest"/> <testcase classname="foo" name="AnotherSuccessfulTest"/> <testcase classname="foo" name="AFailingTest"> <failure type="NotEnoughFoo"> details about failure </failure> </testcase> </testsuite>' echo $xml > results.xml
要聚合,您需要将手指打印的工件从上游作业传递到下游作业.我的解决方案是安装Copy Artifact Plugin.
对于我的测试设置,我创建了两个自由式作业a和b.
a的配置:
>执行shell:echo $(date)>骨料
>聚合下游测试结果:选中自动聚合…选项
>构建其他项目:将要构建的项目设置为b
>记录文件的指纹以跟踪使用情况:将文件设置为指纹聚合(来自上面的echo命令)
b的配置:
>从另一个项目复制工件:set:
>项目名称为a
>上游构建的哪个构建触发了这项工作
>要复制的工件:聚合
>检查指纹工件
>执行shell:从上面输入xml = …命令
>发布JUnit测试结果报告:将测试报告XML设置为results.xml
这应该足以得到聚合b的测试结果.我不确定是否有一种方法/插件可以根据下游结果更改状态(例如,如果b失败,则会追溯失败).