私はjenkinsのパイプラインプラグインを使用していますが、実行ごとにコードカバレッジレポートを生成し、パイプラインUIとともに表示したいと思います。それを行うために使用できるプラグインはありますか(例:Coberturaですが、パイプラインでサポートされていないようです)?
カバレッジレポートを公開するパイプラインステップを追加する方法がありますが、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
最近では、Jenkinsfileでcobertura
コマンドを直接使用することもできます
stage ("Extract test results") {
cobertura coberturaReportFile: 'path-to/coverage.xml'
}
指定したディレクトリで コマンドラインcobertura-report
を使用してレポートを生成し、結果を成果物として添付します。
cobertura-report [--datafile file] --destination dir [--format
html|xml] [--encoding encoding] directory [--basedir dir]