OpenStack CI/CD:原理與實踐 OpenStack CI/CD:原理与实践

董文娟, 尚小冬, 張軍

  • 出版商: 機械工業
  • 出版日期: 2018-11-07
  • 定價: $414
  • 售價: 8.5$352
  • 語言: 簡體中文
  • 頁數: 278
  • 裝訂: 平裝
  • ISBN: 7111611918
  • ISBN-13: 9787111611912
  • 相關分類: OpenStack
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

內容介紹
中興通訊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 \n

第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 23