达到阈值时如何修复不稳定的构建?

时间:2019-07-16 15:00:24

标签: jenkins jenkins-pipeline jenkins-plugins jacoco jacoco-maven-plugin

我的总体覆盖范围已达到阈值,但仍将构建标记为不稳定。有人知道原因吗?

16:53:04 [JaCoCo plugin] Thresholds: JacocoHealthReportThresholds [minClass=75, maxClass=99, minMethod=75, maxMethod=99, minLine=75, maxLine=99, minBranch=40, maxBranch=99, minInstruction=65, maxInstruction=99, minComplexity=0, maxComplexity=99]
16:53:04 [JaCoCo plugin] Publishing the results..
16:53:04 [JaCoCo plugin] Loading packages..
16:53:04 [JaCoCo plugin] Done.
16:53:04 [JaCoCo plugin] Overall coverage: class: 89, method: 89, line: 77, branch: 41, instruction: 67
16:53:04 [JaCoCo plugin] Health thresholds: JacocoHealthReportThresholds [minClass=75, maxClass=99, minMethod=75, maxMethod=99, minLine=75, maxLine=99, minBranch=40, maxBranch=99, minInstruction=65, maxInstruction=99, minComplexity=0, maxComplexity=99]
16:53:04 [JaCoCo plugin] Apply Min/Max thresholds result: UNSTABLE

Jacoco report

2 个答案:

答案 0 :(得分:2)

好吧,根据我发现的链接,覆盖范围应该在最小和最大覆盖范围之内。

查看链接 https://issues.jenkins-ci.org/browse/JENKINS-16903-报告相同的意外行为。

https://groups.google.com/forum/#!topic/jenkins-jacoco-plugin-mailing-list/pzHm98RJjB8/discussion-这是最终声明的规则:

  

配置的最大阈值高于实际覆盖范围。如果覆盖率低于最小值,则构建失败; 如果覆盖率低于最大值,则构建不稳定,如果覆盖率高于则表明成功。

从第二个主题看来,仅指定一个阈值(或仅最小阈值)似乎不起作用。因此,我建议您尝试将最小和最大都设置为期望的最小值。

答案 1 :(得分:1)

不稳定的构建通过添加以下配置来解决。

10:43:30 [JaCoCo插件]总体覆盖:类:89,方法:89,行:77,分支:41,说明:67 10:43:30 [JaCoCo插件]运行状况阈值:JacocoHealthReportThresholds [minClass = 30,maxClass = 75,minMethod = 30,maxMethod = 75,minLine = 30,maxLine = 75,minBranch = 30,maxBranch = 40,minInstruction = 30, maxInstruction = 65,minComplexity = 30,maxComplexity = 49] 10:43:30 [JaCoCo插件]应用最小/最大阈值结果:成功

P.S 我的实际承保范围为50