web-dev-qa-db-ja.com

ジェンキンスパイプラインジョブのCoberturaコードカバレッジレポート

私はjenkinsのパイプラインプラグインを使用していますが、実行ごとにコードカバレッジレポートを生成し、パイプラインUIとともに表示したいと思います。それを行うために使用できるプラグインはありますか(例:Coberturaですが、パイプラインでサポートされていないようです)?

41
ebnius

カバレッジレポートを公開するパイプラインステップを追加する方法がありますが、BlueOceanインターフェースの下には表示されません。通常のUIでは問題なく表示されます。

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プラグインのパラメーターの1つは、使用するXML(例では '**/coverage.xml')であることに注意してください。

Pythonを使用している場合は、次のようなものを使用します。

nosetests --with-coverage --cover-xml --cover-package=pkg1,pkg2 --with-xunit test
38
Roman Kutlak

最近では、Jenkinsfileでcoberturaコマンドを直接使用することもできます

stage ("Extract test results") {
    cobertura coberturaReportFile: 'path-to/coverage.xml'
}

ソース: https://issues.jenkins-ci.org/browse/JENKINS-307

17
hwjp

指定したディレクトリで コマンドラインcobertura-reportを使用してレポートを生成し、結果を成果物として添付します。

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