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

如何在Maven GitLab CI/CD流水线中将JaCoCo报告HTML转换为PDF

GitLab CI/CD 中 JaCoCo HTML 报告转 PDF 方案

核心工具选择

GitLab CI 环境下最常用的 HTML 转 PDF 工具是 wkhtmltopdf,轻量且支持自定义导出参数,适配绝大多数静态 HTML 报告的转换需求。

实现步骤

1. 依赖安装

你使用的 CI 基础镜像如果没有预装该工具,需要先在 job 的脚本中执行安装:

  • 基于 Debian/Ubuntu 系镜像:apt update && apt install -y wkhtmltopdf fontconfig
  • 基于 Alpine 系镜像:apk add --no-cache wkhtmltopdf fontconfig ttf-dejavu
    安装 fontconfig 和通用字体是为了避免报告中的特殊符号、中文出现渲染异常。

2. 执行转换命令

直接指定输入的 JaCoCo index.html 路径和输出的 PDF 路径即可:

wkhtmltopdf <JaCoCo报告index.html的相对路径> <输出PDF的存储路径>

示例:如果你的 JaCoCo 报告生成在 target/site/jacoco/index.html,命令为:
wkhtmltopdf target/site/jacoco/index.html jacoco-coverage-report.pdf

如需调整导出格式,可添加自定义参数,比如设置A4纸、10mm页边距:
wkhtmltopdf --page-size A4 --margin-top 10mm --margin-bottom 10mm target/site/jacoco/index.html jacoco-coverage-report.pdf

3. 配置流水线留存PDF

在 .gitlab-ci.yml 对应 job 的 artifacts 字段中配置生成的 PDF 路径,即可长期留存报告,完整示例配置如下:

export-jacoco-pdf:
  image: openjdk:17-jdk-slim
  script:
    # 安装依赖
    - apt update && apt install -y wkhtmltopdf fontconfig
    # 执行测试生成JaCoCo报告,根据你使用的构建工具(Gradle/Maven等)调整该步骤
    - mvn test
    # 执行转换
    - wkhtmltopdf --enable-local-file-access target/site/jacoco/index.html jacoco-coverage-report.pdf
  artifacts:
    paths:
      - jacoco-coverage-report.pdf
    # 按需设置报告留存时间
    expire_in: 180d

常见问题解决

如果转换后的 PDF 出现样式错乱、空白页问题,可在命令中添加 --enable-local-file-access 参数,允许工具加载报告关联的本地 CSS、JS 资源即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:45:03