Jenkins 的 PMD 插件 - 如何显示构建失败的报告?

标签 jenkins gradle pmd

我正在尝试使用 Jenkins 的 PMD 插件。除了一件事之外,一切都很好。当 Jenkins 构建失败时,构建中的报告将不会更新。这可能是一个问题,因为如果您的代码中出现严重错误,您必须手动转到工作区并读取 .xml 文件(由 PMD 生成)以查看错误所在。

我发现有人遇到了同样的问题,但是这篇文章的最后更新是在 2009 年。在文章的末尾,您可以看到有人解释说这还不是一个功能。 http://jenkins-ci.361315.n4.nabble.com/pmd-post-build-publishing-after-failing-build-td376948.html

我可以确认 pmd 结果正在生成,因为我可以在 Jenkins 的工作区中看到它们。但是,报告不会显示在构建中。

Jenkins 控制台日志(由于虚拟机而打印屏幕): enter image description here

正如您在此处看到的,Jenkins 构建由于违反 PMD 规则而失败。这很好,但是当我们进行构建时,您看不到 PMD 报告。

enter image description here

我已经在 J​​enkins 中安装了 PMD 插件,并且在我更改规则违规之前该插件一直有效。您可以在此处查看我的 PMD gradle 代码:

task pmd (type: Pmd) {

ignoreFailures = false
description 'Run pmd'
group 'verification'
rulePriority = 2

ruleSets = ["java-android",
            "java-basic",
            "java-braces",
            "java-strings",
            "java-design",
            "java-unusedcode"]
source = fileTree('src/main/java')

reports {
    xml.enabled = true
    html.enabled = false
   }
}

check.doLast {
    project.tasks.getByName("pmd").execute()
}

最佳答案

经过一番搜索,却一无所获。我开始研究解决方法。我正在使用Text-Finder plugin查找文本“发现 PMD 违规”。找到此文本后,构建将更改为失败,并且现在将显示报告。

但请注意,当您在“发现 PMD 违规”行之后运行构建后操作时,这些操作将不会被执行。因此,请将构建更改为不稳定。

关于Jenkins 的 PMD 插件 - 如何显示构建失败的报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43995661/

相关文章:

jenkins - 无法 ssh 到 jenkinsci/ssh-slave 的 docker 容器

android - xml 文件中的不完整文本导致新创建的 Android Studio 项目出错

gradle - Gradle-禁止gradle创建application.xml

java - 在Android上的注释中使用XmlPullParser

java - 代码中的 PMD 问题 - 它们很重要吗?

java - PMD 因具有多个模块的项目的自定义规则集而失败

Jenkins - 带有虚拟机的 CI

Jenkins 多个构建在一个工作上

maven - 无法在 maven-pmd-plugin 5.0.2 中使用自定义规则集

svn - 在每个 SVN 提交上运行 Sonar Runner 以分析传出的 SVN 文件