jenkins - 如何使用 Jacoco 和 Jenkins Pipeline 更改构建状态?

标签 jenkins groovy jenkins-pipeline jacoco

使用具有以下配置的 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

“Apply Min/Max thresholds”行表示已注册 changeBuildStatus 标志,但阈值均显示为 0。

changeBuildStatus 是否真的适用于管道,如果适用,设置阈值的正确格式是什么?

最佳答案

对我来说,我需要添加相应的 maximumCoverage 值。例如,

jacoco(
    execPattern: '**/target/code-coverage/**.exec',
    classPattern: '**/target/classes',
    sourcePattern: '**/src',
    inclusionPattern: 'com/company/**',
    changeBuildStatus: true,
    minimumInstructionCoverage: '70',
    maximumInstructionCoverage: '80'
)

希望这能解决您的问题。

关于jenkins - 如何使用 Jacoco 和 Jenkins Pipeline 更改构建状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51117101/

相关文章:

git - jenkins 下游作业如何通过 email-ext 向上游 git 提交者发送电子邮件通知

grails - 如何从 Controller 设置gsp元素属性值

jenkins - 如果现有构建因超时而失败,则触发另一个作业

jenkins - OWASP 依赖检查和 Jenkins 管道

git - Jenkins MultiBranch - 从管道文件 (Jenkinsfile) 中引用 git repo 的标签

firefox - 在 headless Firefox 浏览器中运行 karma 测试在 Jenkins 上不起作用

android - 从 Jenkins 读取 build.gradle 的 versionName

管道中的 Jenkins 用户接受步骤

json - Groovy JsonSlurper 日期反序列化

java/groovy/grails instanceof 失败