1. 课程导论:什么是Runbook、什么是Jenkins事件触发、课程目标与前置知识

1.1 什么是Runbook

Runbook(运维手册/操作手册)是将运维知识、操作步骤、故障处理流程以可执行、可重复、可审计的方式固化的文档或自动化脚本集合。在DevOps实践中,Runbook从静态PDF演进为可编程的自动化工作流,能够响应事件、执行命令、收集结果并触发后续动作。

维度 传统Runbook 自动化Runbook
载体 Word/PDF/Wiki YAML/Python/Ansible Playbook
执行方式 人工阅读+手动操作 自动触发+无人值守
可审计性 依赖操作日志 全链路追踪+版本控制
故障恢复MTTR 30分钟~数小时 秒级~分钟级
核心价值:自动化Runbook将运维经验转化为代码,消除人为失误,实现“一键恢复”或“自动愈合”。

1.2 什么是Jenkins事件触发

Jenkins事件触发是指Jenkins通过监听外部系统(Git仓库、Jira、监控告警、Webhook等)产生的事件,自动启动Pipeline或Job执行。常见触发方式包括:

  • SCM轮询(Poll SCM):定期检查代码仓库变更。
  • Webhook推送:GitHub/GitLab推送事件直接触发。
  • 远程API调用:外部系统通过REST API触发Job。
  • 事件总线集成:Kafka/RabbitMQ消息驱动触发。
  • 定时/参数化触发:Cron表达式或手动参数构建。

本课程聚焦Webhook + 事件过滤 + 参数化构建组合,实现Runbook与Jenkins的联动闭环。

Jenkins事件触发链路 Git Push Webhook Jira状态变更 事件回调 监控告警 Prometheus Alert Jenkins 事件过滤 参数映射 Pipeline触发 Runbook执行 部署验证 健康检查 结果回写 事件触发 → 参数注入 → Pipeline执行 全链路自动化闭环

1.3 课程目标

完成本课程后,学员将具备以下能力:

  • 设计自动化Runbook:使用Ansible/Shell/Python编写可复用的部署验证流程。
  • 配置Jenkins事件驱动:实现Webhook接收、参数解析、条件过滤与Pipeline触发。
  • 构建联动闭环:Runbook执行结果自动回写Jenkins,驱动后续审批或回滚。
  • 生产级加固:权限控制、失败重试、超时熔断、审计日志。
模块 核心产出 实战场景
Runbook设计 可执行YAML/Python脚本 服务健康检查、配置下发
Jenkins事件集成 Webhook接收+参数映射Pipeline Git提交自动触发部署
联动验证 端到端自动化流水线 部署→验证→回滚决策

1.4 前置知识

为顺利学习本课程,建议学员具备以下基础:

  • Linux基础:常用命令、文件权限、进程管理。
  • Jenkins基础:Pipeline语法(Declarative/ Scripted)、Job配置、插件管理。
  • 版本控制:Git基本操作、Webhook概念。
  • 脚本语言:至少熟悉Shell或Python之一。
  • 容器基础(可选):Docker镜像构建与容器运行。
学习建议:如果对Jenkins Pipeline不熟悉,建议先完成官方“Pipeline入门”教程(约2小时)。本课程会提供完整的代码示例,但理解基础语法能显著提升学习效率。

1.5 课程知识体系总览

课程知识体系结构 自动化Runbook × Jenkins事件触发 Runbook设计 Ansible/Python/Shell Jenkins事件集成 Webhook/Pipeline/参数 联动验证闭环 部署/测试/回滚 Git / Ansible Jenkins Pipeline Docker/K8s 监控/告警 每章均包含可运行代码 + 生产级最佳实践
重要提示:本课程所有实验环境均提供Docker Compose一键部署脚本,确保学员在本地或云主机上快速搭建完整实验环境。请勿在生产环境直接运行课程示例代码,务必先进行安全审计。