使用具有以下配置的Jenkins Jacoco插件版本3.0.1会生成有效的覆盖率报告,但无法实际更改构建状态。
jacoco(
execPattern: '**/target/code-coverage/**.exec',
classPattern: '**/target/classes',
sourcePattern: '**/src',
inclusionPattern: 'com/company/**',
changeBuildStatus: true,
minimumInstructionCoverage: '70'
)
记录的输出为
[JaCoCo plugin] Overall coverage: class: 19, method: 9, line: 4, branch: 2, instruction: 3
[JaCoCo plugin] Health thresholds: JacocoHealthReportThresholds [minClass=0, maxClass=0, minMethod=0, maxMethod=0, minLine=0, maxLine=0, minBranch=0, maxBranch=0, minInstruction=0, maxInstruction=0, minComplexity=0, maxComplexity=0]
[JaCoCo plugin] Apply Min/Max thresholds result: SUCCESS
“应用最小/最大阈值”行指示已注册changeBuildStatus标志,但阈值均显示为0。
changeBuildStatus是否真正适用于管道,如果可以,设置阈值的正确格式是什么?
答案 0 :(得分:2)
对我来说,我需要添加一个相应的maximumCoverage值。例如,
jacoco(
execPattern: '**/target/code-coverage/**.exec',
classPattern: '**/target/classes',
sourcePattern: '**/src',
inclusionPattern: 'com/company/**',
changeBuildStatus: true,
minimumInstructionCoverage: '70',
maximumInstructionCoverage: '80'
)
希望这可以解决您的问题。
答案 1 :(得分:0)
有关更多JaCoCo插件字段的信息,https://jenkins.io/doc/pipeline/steps/jacoco/列出了可接受的参数。