2017-05-16 73 views
3

我試圖使用PMD插件詹金斯。除了一件事以外,一切正常。當Jenkins構建失敗時,構建中的報告將不會更新。這可能是一個問題,因爲如果你已經在你的代碼有一個嚴重的錯誤,你必須手動去到工作區和讀取.xml文件(由PMD產生的),看看你的錯誤是什麼。Jenkins的PMD插件 - 如何顯示構建失敗的報告?

我發現有人誰了同樣的問題,但本帖最後在2009年更新,在帖子的末尾,你可以看到,有人解釋說,這是不是一個功能呢。 http://jenkins-ci.361315.n4.nabble.com/pmd-post-build-publishing-after-failing-build-td376948.html

我可以證實,他pmd的結果產生,因爲我可以在我的詹金斯的工作區中看到他們。但是,這些報告不會顯示在構建中。

詹金斯控制檯日誌(因爲虛擬機的打印屏幕): enter image description here

正如你可以在這裏看到,詹金斯製造,因爲一個PMD違反規則的失敗。這是好的,但是當我們去構建時,你看不到PMD報告。

enter image description here

我已經安裝了PMD插件在詹金斯,這用來工作,直到我改變了ruleviolation。你可以在這裏看到我的gradle的PMD碼:

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() 
} 

回答

1

所以在搜索了很多而沒有找到任何東西之後。我開始研究解決方法。我正在使用Text-Finder plugin來查找「找到PMD違規」文本。找到該文本後,構建將更改爲失敗,並且報告現在將顯示出來。

不過要小心,當你正在運行的行後生成後行動「PMD侵權行爲」,這些行動將不會被執行。因此改變構建不穩定。

相關問題