| 作者 | 
| 董文娟 尚小冬 张军 | 
| 丛书名 | 
| 中兴通讯技术丛书 | 
| 出版社 | 
| 机械工业出版社 | 
| ISBN | 
| 9787111611912 | 
| 简要 | 
| 从系统管理员的角度阐述OpenStack CI/CD系统的组成、架构和原理,是中兴技术团队在OpenStack CI/CD领域的实践经验总结 | 
| 简介 | 
| 中兴通讯OPNFV开源团队不仅技术实力雄厚,而且一直致力于为OPNFV团队做贡献,团队的贡献值在社区里排名全球前3。本书由中兴OPNFV开源团队撰写,从系统管理员角度阐述了OpenStack CI/CD系统的组成、架构和原理,涉及从代码提交到测试、部署的各个环节,本书提到的 Gerrit 服务器管理、JJB、Zuul、Nodepool等内容国内都鲜有介绍,本书能让您快速了解这套系统。 全书共11章,在逻辑上分为4个部分: 第一部分(第1~2章) 基础篇 首先从宏观上对DevOps的发展、文化、工具和转型做了介绍,然后重点介绍了OpenStack CI/CD的概念、功能、工作流程和架构等,这是阅读本书的基础; 第二部分(第3~9章)技术篇 从系统管理员的视角,对OpenStack CI/CD中的每一项关键技术都进行了讲解,包括版本控制系统(Git)、代码评审系统(Gerrit)、持续集成系统(Jenkins)、门控系统(Zuul)、资源管理系统(NodePool)、日志服务器、日志分析系统、公共组件等。 第三部分(第10章) 经验篇 主要总结了团队在OpenStack CI/CD上积累的经验、方法和案例,以及如何进行裁剪、扩展和定制化修改。 第四部分(第11章) 优化篇 总结了当前解决方案中存在的不足和可行的优化方案,以及社区当前经历的变化和未来的演进路线。 | 
| 目录 | 
| 推荐序一 推荐序二 前言 第1章 DevOps 1 1.1 DevOps简介 1 1.1.1 软件开发模型 2 1.1.2 DevOps发展历史 2 1.1.3 DevOps循环 3 1.1.4 DevOps价值 4 1.2 DevOps与团队文化 4 1.3 DevOps工具链 6 1.4 DevOps转型 7 1.5 本章小结 8 第2章 CI/CD 9 2.1 CI/CD介绍 9 2.1.1 持续集成 9 2.1.2 持续交付 11 2.1.3 持续部署 12 2.1.4 CI/CD工作流 12 2.2 OpenStack CI/CD 14 2.2.1 当前CI/CD系统的形态 14 2.2.2 OpenStack CI/CD架构 15 2.2.3 CI/CD系统工作流程 18 2.3 本章小结 19 第3章 版本控制(Git)与代码评审 (Gerrit) 20 3.1 版本控制系统(Git) 20 3.1.1 Git仓库(repository) 21 3.1.2 Git分支(branch) 21 3.1.3 Git提交(commit) 21 3.1.4 Git标签(tag) 22 3.1.5 Git引用(refs) 22 3.2 代码评审工具(Gerrit) 23 3.2.1 架构 24 3.2.2 安装 25 3.2.3 项目配置 27 3.2.4 CI/CD系统对接 32 3.3 本章小结 33 第4章 持续集成系统(Jenkins) 34 4.1 Jenkins介绍 34 4.1.1 Jenkins是什么 34 4.1.2 Jenkins工作原理 35 4.1.3 部署Jenkins 37 4.1.4 插件管理 39 4.1.5 安全管理 44 4.1.6 创建Slave 46 4.1.7 创建Job 49 4.2 Jenkins Job Builder 57 4.2.1 安装JJB 57 4.2.2 配置JJB 57 4.2.3 使用JJB 58 4.2.4 JJB语法详解 58 4.3 Python Jenkins 70 4.3.1 安装python-jenkins 70 4.3.2 使用python-jenkins 70 4.4 本章小结 71 第5章 门控系统(Zuul) 72 5.1 Zuul组件介绍 73 5.1.1 Zuul工作原理 75 5.1.2 Zuul Server 76 5.1.3 Zuul Merger 79 5.1.4 Zuul Cloner 80 5.1.5 Zuul客户端 83 5.2 pipeline 83 5.2.1 并行测试 83 5.2.2 跨项目测试 85 5.2.3 跨项目依赖 87 5.3 连接器 88 5.3.1 Gerrit 89 5.3.2 SMTP 89 5.4 触发器 90 5.4.1 Gerrit 90 5.4.2 Timer 91 5.4.3 Zuul内部事件 92 5.5 报告器 92 5.5.1 Gerrit 92 5.5.2 SMTP 92 5.6 配置指导 93 5.6.1 pipeline 95 5.6.2 Jobs 101 5.6.3 Projects 103 5.6.4 Project Templates 104 5.7 本章小结 106 第6章 资源管理系统(Nodepool) 107 6.1 Nodepool简介 107 6.1.1 Nodepool引入的背景 107 6.1.2 Nodepool的功能 108 6.2 安装Nodepool 110 6.2.1 准备外部依赖服务 110 6.2.2 安装Nodepool 113 6.3 Nodepool的设计原理 113 6.3.1 资源管理(Nodepoold) 115 6.3.2 镜像管理(Nodepool-builder) 117 6.3.3 客户端(Nodepool Client) 119 6.4 配置Nodepool 129 6.4.1 云相关配置 129 6.4.2 Jenkins相关配置 137 6.4.3 镜像配置(diskimages) 140 6.4.4 其他配置 142 6.5 镜像管理系统 144 6.5.1 DIB介绍 145 6.5.2 DIB原理 146 6.5.3 定制镜像 155 6.6 本章小结 156 第7章 日志服务器 157 7.1 日志服务器的作用 157 7.2 安装和验证 158 7.3 使用方法 159 7.3.1 在Jenkins中使用日志服务器 159 7.3.2 如何获取日志文件 160 7.3.3 日志文件定期归档和清理 161 7.4 本章小结 161 第8章 日志分析系统 162 8.1 ELK Stack概况 162 8.2 日志分析系统架构 163 8.3 Log Pusher 165 8.3.1 处理流程 165 8.3.2 配置 165 8.4 Logstash Indexer 166 8.4.1 hello world 166 8.4.2 Logstash管道 167 8.4.3 管道配置 167 8.4.4 管道配置实例 169 8.5 Elasticsearch 171 8.5.1 面向文档的数据库 171 8.5.2 索引、检索和搜索 172 8.5.3 节点和集群 178 8.5.4 索引分片和索引副本 180 8.5.5 分布式特性 180 8.5.6 配置Elasticsearch 181 8.6 Kibana 183 8.6.1 让Kibana连接到 Elasticsearch 183 8.6.2 Index Pattern 184 8.7 部署 186 8.8 本章小结 186 第9章 公共组件详解 187 9.1 任务分发系统(Gearman) 187 9.1.1 Gearman介绍 187 9.1.2 Gearman架构和工作原理 188 9.1.3 安装 189 9.1.4 利用Gearman实现Jenkins 的HA 192 9.2 消息队列(ZeroMQ) 194 9.2.1 ZeroMQ介绍 194 9.2.2 ZeroMQ的特点 194 9.2.3 ZeroMQ的工作模式 195 9.2.4 安装 196 9.2.5 应用示例 196 9.2.6 ZeroMQ在OpenStack CI/CD 系统中的作用 199 9.3 分布式协调服务(ZooKeeper) 199 9.3.1 ZooKeeper介绍 199 9.3.2 ZooKeeper架构和工作原理 200 9.3.3 ZooKeeper的安装和配置 203 9.3.4 ZooKeeper典型应用 205 9.3.5 Nodepool中使用ZooKeeper示例 208 9.4 本章小结 209 第10章 社区CI/CD实践 210 10.1 Puppet简介 210 10.1.1 概述 210 10.1.2 基础架构 214 10.2 单机部署 216 10.2.1 前期准备 216 10.2.2 安装部署 217 10.3 多节点部署 231 10.3.1 IaC 232 10.3.2 配置 233 10.3.3 自动化部署 239 10.4 使用CI/CD 242 10.4.1 新增项目 242 10.4.2 提交变更 253 10.4.3 定制优化 256 10.5 CI/CD还需要考虑的问题 271 10.6 本章小结 272 第11章 演进 273 11.1 存在的问题 273 11.1.1 耦合 273 11.1.2 Zuul 274 11.1.3 Jenkins 274 11.1.4 Nodepool 274 11.2 演进 275 11.2.1 架构 275 11.2.2 Zuul V3 277 11.2.3 Nodepool V3 278 11.3 CI/CD发展 278 11.4 本章小结 278  |