2016-04-28 226 views
21

我正在使用jenkins的管道插件,我想爲每個運行生成代碼覆蓋率報告並將其與管道ui一起顯示。有沒有我可以用來做的插件(例如Cobertura,但似乎沒有被管道支持)?jenkins管道作業的Cobertura代碼覆蓋率報告

+0

您應該提供更多的信息。你使用什麼編程語言?你更喜歡什麼構建工具? – luka5z

+1

我有Python,JavaScript和其他種類的項目,我一直在自由式項目上使用Cobertura來顯示代碼覆蓋率報告。然而,切換到管道後,我沒有得到後期構建用戶界面來爲項目設置Cobertura。 – ebnius

+1

通過Pipeline作業檢查您的插件是否支持(https://github.com/jenkinsci/pipeline-plugin/blob/master/COMPATIBILITY.md)。 – luka5z

回答

0

在指定目錄中使用command linecobertura-report生成報告,並將結果附加爲工件。

cobertura-report [--datafile file] --destination dir [--format 
     html|xml] [--encoding encoding] directory [--basedir dir] 
14

有一種方法可以添加管道步驟來發布您的報道報告,但它不會顯示在BlueOcean界面下。它會在正常的用戶界面中顯示正常。

pipeline { 
    agent any 

    stages { 
     ... 
    } 
    post { 
     always { 
      junit '**/nosetests.xml' 
      step([$class: 'CoberturaPublisher', autoUpdateHealth: false, autoUpdateStability: false, coberturaReportFile: '**/coverage.xml', failUnhealthy: false, failUnstable: false, maxNumberOfBuilds: 0, onlyStable: false, sourceEncoding: 'ASCII', zoomCoverageChart: false]) 
     } 
    } 
} 

請注意,Cobertura插件的其中一個參數是它將使用的XML(示例中的'**/coverage.xml')。

如果您正在使用python,你將要使用的東西,如:

nosetests --with-coverage --cover-xml --cover-package=pkg1,pkg2 --with-xunit test 
+0

這是兩天頭痛後。非常感謝。 –

相關問題