【问题标题】:Using Jenkins Job DSL plugin, why are the metrics (FindBugs, Checkstyle, PMD) only checked after the build?使用 Jenkins Job DSL 插件,为什么只在构建后检查指标(FindBugs、Checkstyle、PMD)?
【发布时间】:2026-02-19 16:55:02
【问题描述】:

直到最近,我们还是手动创建了 Jenkins 作业。我们的政策是使用 FindBugs、Checkstyle 和 PMD 检查代码,任何超过特定阈值的项目都被认为是不稳定的,并且不允许将其工件部署到我们的 Maven 存储库。

在 Jenkins 中,当我创建“Maven 项目”时,我会在“构建设置”下获得指标配置。如果超过任何阈值,则认为构建不稳定,并且不会执行构建后操作“将工件部署到 Maven 存储库”。应该是这样的。

但是,在我们使用mavenJob() 生成的作业中,情况有所不同。在这里,指标被添加到publisherContext,因此如果超过阈值,构建仍然被认为是不稳定的,但没有什么能阻止将工件部署到 Maven 存储库。

我错过了什么吗?如何像以前一样将指标添加到构建设置?

【问题讨论】:

    标签: jenkins metrics jenkins-job-dsl


    【解决方案1】:

    您可以使用deployArtifacts{}evenIfUnstable(false) 来明确设置:

    mavenJob('example-job') {
        publishers {
            deployArtifacts {
                evenIfUnstable(false)
            }
        }
    }
    

    【讨论】:

    • 谢谢!我注意到出版商的顺序很重要。我在部署发布者之后生成了指标发布者,它仍然被部署。我必须在部署发布者之前生成指标发布者,现在它可以工作了。
    最近更新 更多