第9章 Jenkins 接入自动化框架实现持续集成

本章目标

让 Jenkins 自动拉取项目代码,执行接口测试,并归档报告。

1. 创建 Pipeline 任务

  1. Jenkins 新建任务 -> 选择 Pipeline
  2. 流水线定义选择 Pipeline script from SCM
  3. SCM 选择 Git,填仓库地址与凭据
  4. Script Path 填:Jenkinsfile

首次推荐配置值:

  • Branch Specifier:*/main(按你的实际分支调整)
  • Lightweight checkout:可先关闭,避免脚本定位疑难问题

2. 首次接入时:Jenkinsfile 什么时候创建、怎么创建

如果你的仓库还没有 Jenkinsfile,请先在项目根目录创建,再配置 Jenkins 任务。

推荐顺序:

  1. 本地项目根目录新建 Jenkinsfile
  2. 本地先执行 python3 run.py,确认框架可运行
  3. 提交并推送到远程仓库(确保仓库网页可见 Jenkinsfile
  4. 再到 Jenkins 中配置 Pipeline script from SCMScript Path=Jenkinsfile

关键点:Jenkins 从 Git 拉代码后,会按 Script Path 去找脚本。仓库里没有该文件,就无法启动流水线。

3. 流水线会做什么

你的 Jenkinsfile 已包含这些阶段:

  • Build Info:输出调试信息
  • Checkout:拉代码
  • Setup Env:创建 .venv 并安装依赖
  • Run API Tests:执行 scripts/ci_run.sh
  • Archive Artifacts:归档 logs/report/html_report
  • Send Mail Report:调用 scripts/send_report_mail.py

4. 手动跑一次

点击“立即构建”,重点观察:

  • Setup Env 是否成功
  • Run API Tests 是否产出报告目录
  • Archive Artifacts 是否可下载产物

建议再核对:

  • 构建日志里能看到 python3 -m venv .venv
  • 构建日志里能看到 bash scripts/ci_run.sh
  • 归档产物包含 logs/html_report/

5. 构建结果说明

  • SUCCESS:脚本链路执行成功
  • UNSTABLE:流水线执行完,但用例有失败(当前项目按此策略处理)
  • FAILURE:脚本异常或环境异常

6. 常见失败与快速修复

  • 报错:Jenkinsfile not found
    • 检查仓库根目录是否存在 Jenkinsfile
    • 检查 Job 的 Script Path 是否仍是 Jenkinsfile
  • 报错:Permission denied(脚本执行权限)
    • 确认仓库里 scripts/ci_run.sh 可执行(必要时补 chmod +x scripts/ci_run.sh 后重新提交)
  • 报错:Git 拉取失败
    • 检查仓库地址、分支名、凭据权限
  • 报错:依赖安装失败
    • Setup Env 日志,确认 Python 版本与网络连通

7. 报告查看方式

  • Jenkins 构建页面 Console 输出
  • Jenkins 构建产物(Artifacts)
  • 服务器工作空间中的 html_report/

本章验收标准

  • Jenkins 能成功跑完一条完整流水线
  • 构建页面可看到日志和归档产物
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐