jenkins管道作业的Cobertura代码覆盖率报告
我正在使用jenkins的管道插件,我想为每次运行生成代码覆盖率报告,并将其与管道ui一起显示。是否有我可以使用的插件(例如Cobertura,但它似乎不受管道支持)?在指定目录中使用jenkins管道作业的Cobertura代码覆盖率报告,jenkins,jenkins-pipeline,cobertura,Jenkins,Jenkins Pipeline,Cobertura,我正在使用jenkins的管道插件,我想为每次运行生成代码覆盖率报告,并将其与管道ui一起显示。是否有我可以使用的插件(例如Cobertura,但它似乎不受管道支持)?在指定目录中使用Cobertura报告生成报告,并将结果作为工件附加 cobertura-report [--datafile file] --destination dir [--format html|xml] [--encoding encoding] directory [--based
Cobertura报告生成报告,并将结果作为工件附加
cobertura-report [--datafile file] --destination dir [--format
html|xml] [--encoding encoding] directory [--basedir dir]
有一种方法可以添加一个管道步骤来发布覆盖率报告,但它不会显示在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
现在,您还可以在文件中直接使用cobertura
命令
stage ("Extract test results") {
cobertura coberturaReportFile: 'path-to/coverage.xml'
}
来源:来自hwjp的答案是正确的,但是您可以添加到命令中的额外参数不容易找到
一旦安装了Cobertura插件,就可以在中找到Cobertura步骤选项
作业仪表板页面->管道语法->步骤参考
还有一个代码段生成器,它对于开始使用非常有用
作业仪表板页面->管道语法
命令示例:
cobertura coberturaReportFile: 'coverage.xml', enableNewApi: true, lineCoverageTargets: '80, 60, 70'
enableNewApi是一个很好的设置,因为新的API要漂亮得多:D
如果代码覆盖率太低,设置覆盖率目标将自动导致作业失败您应该提供更多信息。你用什么编程语言?你更喜欢什么构建工具?我有python、javascript和其他类型的项目,我一直在自由式项目上使用Cobertura来显示代码覆盖率报告。但是,在切换到管道之后,我没有获得为项目设置Cobertura的构建后UI。请检查您的插件是否是通过管道作业完成的。看起来这里有一个反对Cobertura插件的问题:您太棒了。非常感谢。你有关于这个的文档链接吗?对我来说很有用,比原来的解决方案简单得多。谢谢这两个插件都可以工作,但是在Jenkins文件中,这个插件更容易使用。哪个版本的Cobertura插件与Jenkins 2.204.1兼容