目 录
理 论 篇
第1章 DevOps诞生与发展 3
1.1 DevOps概述 4
1.1.1 DevOps文化 4
1.1.2 DevOps实践 5
1.1.3 DevOps生命周期 5
1.2 DevOps的诞生 7
1.2.1 DevOps的历史 7
1.2.2 DevOps的优势 9
1.3 DevOps的现状和发展趋势 10
1.3.1 DevOps的现状 10
1.3.2 DevOps的发展趋势 12
1.4 DevOps与开源 17
本章小结 19
参考文献 19
习题1 19
第2章 DevOps标准和落地框架 20
2.1 DevOps标准概述 21
2.2 DevOps标准主要内容 21
2.2.1 DevOps标准总体架构 21
2.2.2 DevOps标准名称和主要内容 22
2.3 站点可靠性工程SRE 27
2.3.1 SRE概述 27
2.3.2 SRE的核心原则 29
本章小结 29
参考文献 29
习题2 30
第3章 软件交付 31
3.1 软件交付流程介绍 32
3.2 软件交付涉及的工具 32
3.3 持续集成 35
3.4 持续部署 38
3.5 渐进式部署 39
3.6 基于容器的交付 40
本章小结 45
参考文献 45
习题3 46
第4章 基础设施即代码 47
4.1 传统的基础设施 48
4.2 基础设施即代码 48
4.3 GitOps实践 50
4.3.1 Argo CD 50
4.3.2 Flux CD 52
本章小结 54
参考文献 54
习题4 54
第5章 软件质量管理 55
5.1 测试自动化 56
5.1.1 测试自动化与DevOps的关系 56
5.1.2 测试数据构造 57
5.1.3 单元测试 60
5.1.4 接口自动化测试 67
5.1.5 UI自动化测试 73
5.1.6 客户端性能测试 76
5.1.7 服务器性能测试 79
5.1.8 兼容性测试 89
5.1.9 客户端稳定性测试 92
5.1.10 服务器稳定性测试 94
5.2 线上监控体系 97
5.2.1 接口自动化巡检 97
5.2.2 UI自动化巡检 99
5.2.3 用户反馈监控 99
5.2.4 资源监控 102
5.2.5 业务质量指标监控 107
5.3 质量标准化与可视化 110
5.3.1 质量标准化管理 110
5.3.2 质量标准化和可视化实施 113
5.4 测试智能化 118
5.4.1 测试智能化与DevOps的关系 118
5.4.2 精准测试 118
5.4.3 引流测试 120
5.4.4 契约测试 124
5.4.5 MLOps简介 127
本章小结 130
参考文献 131
习题5 131
实 践 篇
第6章 DevOps基础实践 135
6.1 阿里云容器镜像云基础实践 136
6.1.1 实验目的和实验环境 136
6.1.2 实验步骤 137
6.2 Git基础实践 140
6.2.1 实验目的和实验环境 140
6.2.2 实验步骤 141
6.3 GitHub基础实践 142
6.3.1 实验目的和实验环境 143
6.3.2 实验步骤 143
6.4 JihuLab基础实践 149
6.4.1 实验目的和实验环境 149
6.4.2 实验步骤 149
6.5 Docker基础实践 153
6.5.1 实验目的和实验环境 153
6.5.2 实验步骤 153
6.6 Python基础实践 157
6.6.1 实验目的和实验环境 157
6.6.2 实验步骤 157
6.7 Java基础实践 159
6.7.1 实验目的和实验环境 159
6.7.2 实验步骤 160
6.8 Node.js基础实践 164
6.8.1 实验目的和实验环境 164
6.8.2 实验步骤 164
本章小结 166
第7章 DaseDevOps示例程序 167
7.1 Java微服务后端程序 168
7.1.1 实验目的和实验环境 168
7.1.2 实验步骤 170
7.2 基于Vue的前端程序 176
7.2.1 实验目的和实验环境 176
7.2.2 实验步骤 176
本章小结 179
第8章 DaseDevOps测试用例 180
8.1 静态代码扫描 181
8.1.1 实验目的和实验环境 181
8.2.2 实验步骤 181
8.2 单元测试 182
8.2.1 实验目的和实验环境 183
8.2.2 实验步骤 183
8.3 用户界面测试用例 190
8.3.1 实验目的和实验环境 191
8.3.2 实验步骤 191
8.4 接口测试用例 198
8.4.1 实验目的和实验环境 198
8.4.2 实验步骤 199
8.5 压力测试用例 204
8.5.1 实验目的和实验环境 206
8.5.2 实验步骤 206
本章小结 211
第9章 CI/CD实践 212
9.1 基于JihuLab的CI/CD 213
9.1.1 实验目的和实验环境 214
9.1.2 实验步骤 214
9.2 基于GitHub的CI/CD 220
9.2.1 实验目的和实验环境 222
9.2.2 实验步骤 222
9.3 基于Jenkins的CI/CD 231
9.3.1 实验目的和实验环境 232
9.3.2 实验步骤 232
9.4 基于JihuLab+Argo的CI/CD 242
9.4.1 实验目的和实验环境 243
9.4.2 实验步骤 244
本章小结 254
第10章 发布平台监控与日志实践 255
10.1 监控系统实践 256
10.1.1 实验目的和实验环境 256
10.1.2 实验步骤 256
10.2 日志系统实践 268
10.2.1 实验目的和实验环境 268
10.2.2 实验步骤 268
本章小结 270