第10章 零基础接口自动化到 Jenkins 持续集成【定时监控与邮件告警完整落地】

第10章 定时监控与邮件告警完整落地

本章目标

实现"每天自动跑 + 自动邮件通知",形成真正可运营的质量监控。

1. 配置 Jenkins 定时触发

当前 Jenkinsfile 已有:

groovy 复制代码
triggers {
  cron('H 9,13,18 * * *')
}

含义:每天 9/13/18 点自动执行。

2. 配置邮件凭据

在 Jenkins 凭据中新增:

  • smtp-user:邮箱账号
  • smtp-pass:邮箱授权码

它们会被 Send Mail Report 阶段读取。

3. 邮件参数建议

  • MAIL_RECEIVERS:多个收件人用逗号分隔
  • MAIL_SUBJECT:例如"接口自动化测试报告"
  • SMTP_HOST:如 smtp.example.com
  • SMTP_PORT:如 465

4. 参数到底配在哪里(避免混淆)

参数 建议配置位置 说明
SMTP_USER Jenkins Credentials(smtp-user 敏感信息,不要写死在仓库
SMTP_PASS Jenkins Credentials(smtp-pass 敏感信息,不要写死在仓库
MAIL_RECEIVERS Jenkinsfileenvironment 或 Job 环境变量 收件人列表
MAIL_SUBJECT Jenkinsfileenvironment 或 Job 环境变量 邮件主题
SMTP_HOST Job 环境变量(或脚本默认值) Jenkinsfile 已做默认兜底
SMTP_PORT Job 环境变量(或脚本默认值) 默认 465

当前项目中:

  • SMTP_USER/SMTP_PASSwithCredentials 注入
  • MAIL_RECEIVERS/MAIL_SUBJECTJenkinsfile environment 已给出默认值
  • SMTP_HOST/SMTP_PORTSend Mail Report 阶段 shell 脚本里有默认值兜底

5. 验证告警链路

  1. 手动执行一次构建
  2. Send Mail Report 日志是否显示 sent
  3. 检查邮箱是否收到通知
  4. 邮件中是否有 Jenkins 构建链接与报告入口

6. 监控运营建议

  • 失败后 10 分钟内查看日志并登记原因
  • 每周统计失败接口 Top N 并复盘
  • 用例和业务版本一起维护,避免"历史用例失真"

7. 课程结业标准

满足以下 5 项即结业:

  1. 本地可稳定执行 python3 run.py
  2. 可独立新增 YAML 用例并断言
  3. 可处理 token 参数关联
  4. Jenkins 可自动拉代码跑测试并归档报告
  5. 定时任务与邮件通知稳定运行

结语

你已经完成了从"0 代码基础"到"自动化框架 + 云端持续集成"的完整闭环。

下一步建议:按业务模块持续补用例,让自动化真正服务发布质量。

相关推荐
疯狂的维修6 小时前
PDPS关于cable的设定
自动化
DsirNg9 小时前
别把联调当验收:用可执行契约管住接口变更
ci/cd·mock·openapi·契约测试·接口契约·前后端协作·pact
云飞云共享云桌面12 小时前
苏州昆山精密机械加工厂研发部门10个SolidWorks可以部署云飞云共享云桌面吗?
大数据·运维·服务器·自动化·汽车·制造
云飞云共享云桌面13 小时前
自动化设备厂 10 人研发团队,如何共用一台服务器做 SolidWorks 建模?
运维·服务器·网络·3d·自动化·制造
醉颜凉1 天前
数据仓库实战:自动化数据质量检测全流程——精准提升数据准确性与完整性
大数据·数据仓库·自动化
HBYKKJ1 天前
格雷希尔GFL浮动组件:大范围浮动补偿赋能自动化产线高效柔性对接,兼容大部分对正场景,适配市面常见的机器人末端执行器与工装安装板
人工智能·机器人·自动化
进哥AI研习社1 天前
AtomCode 高阶玩法揭秘:Headless 模式集成 CI/CD、Skills 自定义与项目指令文件深度实战
ci/cd·atomcode·headless 模式·daemon 服务·skill 自定义·.atomcode.md·自动化审查
天远Date Lab1 天前
零信任架构实战:基于天远行驶证核查构建自动化车队准入网关
运维·人工智能·架构·自动化
St_rive1 天前
webUI自动化实现及封装
运维·自动化
QYR_112 天前
2032年气相分解设备市场规模达2.25亿美元:VPD向高灵敏度、自动化晶圆污染检测升级
运维·自动化