You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Jenkins发布Gradle项目的Jacoco测试覆盖率报告?

解决Jenkins发布Gradle Jacoco覆盖率报告的问题

别担心,我来帮你搞定这个事儿!其实Jenkins有专门支持Jacoco的插件,完全适配Gradle生成的报告,下面一步步来操作:

第一步:确认Gradle项目的Jacoco配置正确

首先要确保你的build.gradle里已经正确配置了Jacoco,能生成Jenkins需要的报告文件。这里给个标准配置示例,你可以对照调整:

plugins {
    id 'java'
    id 'jacoco'
}

// 指定Jacoco版本,用你项目兼容的版本即可
jacoco {
    toolVersion = "0.8.8"
}

// 确保测试任务完成后自动执行报告生成
test {
    finalizedBy jacocoTestReport
}

jacocoTestReport {
    reports {
        html.required = true // 必须开启HTML报告,Jenkins要解析这个
        xml.required = true // 可选,部分场景需要XML格式的报告
    }
}

配置好后,本地先执行./gradlew clean test jacocoTestReport(Windows用gradlew.bat),确认build/reports/jacoco/test/html目录下生成了HTML报告,这一步很重要,先保证本地能生成报告,再去配置Jenkins。

第二步:Jenkins端配置发布报告

  1. 首先确保你的Jenkins已经安装了Jacoco Plugin:进入Jenkins的「插件管理」,搜索Jacoco,确认已安装(如果没装就安装后重启Jenkins)。
  2. 打开你的Jenkins任务配置页面,滑到「构建后操作」区域:
    • 点击「增加构建后操作步骤」,选择「Publish JaCoCo coverage report」。
    • 接下来配置几个关键路径(根据你的项目结构调整,多模块项目可以用通配符**匹配):
      • Path to exec files:填写**/build/jacoco/test.exec(这是Jacoco生成的执行数据文件)
      • Path to class directories:填写**/build/classes/java/main(项目编译后的class文件路径,多模块可能需要调整为**/submodule/build/classes/java/main)
      • Path to source directories:填写**/src/main/java(你的Java源码路径)
      • Path to report directories:填写**/build/reports/jacoco/test/html(Gradle生成的HTML报告目录)
    • 其他选项比如覆盖率阈值、图表展示等,可以根据你的需求自行调整。
  3. 保存配置,然后重新触发一次Jenkins构建。

常见坑点排查

  • 如果Jenkins提示找不到文件,大概率是路径配置错了:可以去Jenkins构建日志里看实际生成的文件路径,对照调整配置里的路径。
  • 多模块项目注意路径要包含子模块:比如用**/build/...这样的通配符,或者指定具体子模块路径。
  • 确保Jenkins执行构建的用户有读取报告文件的权限:如果是Linux服务器,检查文件权限是否正确。

这样配置完成后,构建成功后你就能在Jenkins任务页面看到Jacoco覆盖率的入口,点击进去就能查看详细的覆盖率报告啦!

内容的提问来源于stack exchange,提问作者MickeyThreeSheds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:21:20