如何在Jenkins多分支流水线的分支列表中显示覆盖率数值
实现Jenkins多分支流水线分支列表显示覆盖率数值
要在分支列表直接查看覆盖率,需要完成两项配置:提取覆盖率并设置构建描述,同时添加视图列展示覆盖率。
1. 在流水线中提取覆盖率并设置构建描述
修改测试阶段的post部分,新增Groovy脚本解析Cobertura报告,提取整体行覆盖率并设置为构建描述,这样分支的构建历史条目会直接显示覆盖率:
stage('Run tests') { steps { sh 'npm run-script test -- --coverage --testResultsProcessor=jest-junit --outputFile=test-results.xml' } post { always { junit 'junit.xml' cobertura coberturaReportFile: '**/coverage/cobertura-coverage.xml' recordCoverage(tools: [[parser: 'COBERTURA']], id: 'cobertura', name: 'Cobertura Coverage', sourceDirectories: [[path: '**/src']]) // 新增:提取覆盖率并设置构建描述 script { def coverageXmlPath = findFiles(glob: '**/coverage/cobertura-coverage.xml')[0].path def coverageXml = readFile(file: coverageXmlPath) def coverageData = new XmlSlurper().parseText(coverageXml) def lineRate = coverageData.'coverage'.@lineRate.text() def coveragePercent = String.format("%.2f%%", Double.parseDouble(lineRate) * 100) currentBuild.setDescription("覆盖率: ${coveragePercent}") } } } }
这里用findFiles确保精准定位报告文件,避免路径匹配问题;解析XML获取行覆盖率后转成百分比格式,直接设置为构建描述。
2. 配置分支视图列显示覆盖率
进入多分支流水线项目页面,按以下步骤操作:
- 点击左侧菜单的Configure(配置)
- 滚动到View Configuration(视图配置)区域
- 在Columns(列)选项中,点击Add column(添加列),选择Cobertura Coverage Column
- 保存配置后返回分支列表,即可看到新增列展示每个分支最近一次构建的覆盖率数值。
注意:需确保已安装最新版的Cobertura Plugin和Branch API Plugin,这两个插件支持分支视图的覆盖率列展示功能。
内容的提问来源于stack exchange,提问作者Yura Bysaha
相关产品推荐
相关产品推荐

