2016-04-28 8 views
21

Ich benutze die Pipeline-Plugin für Jenkins und ich möchte Code Coverage Report für jeden Lauf generieren und es zusammen mit der Pipeline UI anzeigen. Gibt es ein Plugin, das ich dafür verwenden kann (z. B. Cobertura, aber es scheint nicht von der Pipeline unterstützt zu werden)?Cobertura Code Coverage Bericht für Jenkins Pipeline-Jobs

+0

sollten Sie weitere Informationen zur Verfügung gestellt haben:

Wenn Sie Python verwenden, werden Sie so etwas wie verwenden möchten. Welche Programmiersprache benutzt du? Welches Bauwerkzeug bevorzugen Sie? – luka5z

+1

Ich habe Python, Javascript und andere Arten von Projekten und ich habe Cobertura in Freestyle-Projekten verwendet, um Code-Coverage-Berichte anzuzeigen. Nach dem Wechsel zu einer Pipeline bekomme ich jedoch nicht die Postbuild-Benutzeroberfläche, um Cobertura für das Projekt einzurichten. – ebnius

+1

Überprüfen Sie, ob Ihr Plugin nach Pipeline-Auftrag [https://github.com/jenkinsci/pipeline-plugin/blob/master/COMPATIBILITY.md] [unterstützt] ist. – luka5z

Antwort

0

Bericht mit command linecobertura-report im angegebenen Verzeichnis erstellen und Ergebnisse als Artefakte anhängen.

14

Es gibt eine Möglichkeit, einen Pipeline-Schritt hinzuzufügen, um Ihren Abdeckungsbericht zu veröffentlichen, aber er wird nicht unter der BlueOcean-Schnittstelle angezeigt. Es wird gut in der normalen Benutzeroberfläche angezeigt.

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

Beachten Sie, dass einer der Parameter zum Cobertura Plugin das XML ist, die es benutzen werden (‚**/coverage.xml‘ im Beispiel).

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

Dies ist nach zwei Tagen mit Kopfschmerzen. Vielen, vielen Dank. –