温馨提示×

Jenkins在CentOS上如何实现构建报告生成

小樊
32
2025-12-13 19:15:14
栏目: 智能运维

在 CentOS 上,Jenkins 可通过内置步骤或插件生成并展示测试与质量报告,包括 JUnit、Allure、HTML 等常见格式。下面给出可直接落地的配置方法与排错要点。


一、前置准备

  • 安装与运行环境
    • 安装 Java(建议 JDK 11)Git,确保 java -versiongit --version 正常;Jenkins 建议使用 2.346+ 版本以获得更好插件兼容性与安全性。
    • 启动与端口:建议通过 systemctl 管理 Jenkins 服务,并放行 8080/8772 等端口(如使用非默认端口)。
  • 常用插件
    • JUnit Plugin(内置能力,发布 JUnit XML 报告)
    • Allure Commandline Plugin(生成并展示 Allure 报告)
    • Email Extension Plugin(增强邮件通知)
    • HTML Publisher Plugin(发布自定义 HTML 报告)
  • 全局工具配置
    • Manage Jenkins → Global Tool Configuration 中配置 JDK、Git、Allure Commandline(可勾选自动安装),便于 Job 直接调用。

二、快速方案总览

报告类型 必备工具/插件 关键步骤 报告入口
JUnit 测试报告 JUnit 插件(内置) 测试框架输出 JUnit XML;Job 中“构建后操作”添加 Publish JUnit test result report 构建页 → Test Result
Allure 报告 Allure Commandline 插件 测试输出 allure-results;Job 中“构建后操作”添加 Allure Report 项目首页 → Allure Report
自定义 HTML 报告 HTML Publisher 插件 生成 HTML;Job 中“构建后操作”添加 Publish HTML reports 构建页 → HTML Report

三、分步配置示例

  • JUnit 报告(适用于 Java/gTest/JUnit 等)

    1. 测试侧输出:确保构建过程生成 JUnit XML(如 target/surefire-reports/*.xml 或 gtest 的 *.xml)。
    2. Job 配置:构建后操作 → Publish JUnit test result report → 填写“测试报告 XML 路径”(如 **/target/surefire-reports/*.xmlcode/test/test_results/*.xml)。
    3. 查看:构建完成后进入 Test Result 查看趋势与用例详情。
  • Allure 报告(适用于 Python pytest、Robot Framework 等)

    1. 安装与配置
      • 安装 Allure Commandline 插件,并在 Global Tool Configuration 中新增 Allure 工具(可自动安装)。
    2. 测试侧输出
      • pytest:pytest ... --alluredir=**$WORKSPACE/allure-results**
      • Robot Framework:robot --listener allure_robotframework --outputdir **./output/robot** mytest.robot
    3. Job 配置
      • 构建后操作 → Allure Report → 指定 Results 路径(如 allure-resultsoutput/robot)。
    4. 查看:项目首页点击 Allure Report 查看可视化报告与历史趋势。
  • 自定义 HTML 报告(适用于手写的 HTML 报告)

    1. 测试/脚本侧输出:生成 index.html 及依赖资源到工作区目录(如 reports/)。
    2. Job 配置:构建后操作 → Publish HTML reports → 配置 HTML directory to archiveIndex page(s)(如 reports/index.html)。
    3. 显示优化:若样式/JS 加载不全,可在 Manage Jenkins 执行系统 Groovy 脚本:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")(或安装 Groovy 插件在构建步骤中执行,避免重启后失效)。

四、邮件通知与报告分发

  • 内置邮件通知
    • 系统设置:配置 Jenkins LocationSMTP(发件服务器、用户名、密码),可用“测试邮件”验证。
    • 项目设置:构建后操作 → E-mail Notification,填写收件人;勾选“每次不稳定的构建都发送邮件通知”等条件。
  • 增强邮件(HTML 报告附件/内容)
    • 使用 Email Extension Plugin,在构建后结合报告内容定制邮件主题与正文,并附上报告链接或附件。

五、常见问题与排查

  • 报告路径不匹配或未生成
    • 确认构建日志中报告目录与 Job 配置路径一致;路径支持通配符(如 **/*.xml)。
  • Allure 报告空白或缺少环境信息
    • 确认 allure-results 目录在构建后存在且包含 .json 结果文件;如需展示环境信息,在 allure-results 下放置 environment.propertiesenvironment.xml
  • HTML 报告样式丢失
    • 按上文设置 CSP 策略或使用 Groovy 插件持久化脚本,确保 CSS/JS 正常加载。
  • 权限与端口问题
    • 如以 jenkins 用户运行,确保对工作区与报告目录有读写权限;必要时调整 JENKINS_USER 并放行防火墙端口(如 8080/8772)。

0