OpenStack CI/CD:原理與實踐

OpenStack CI/CD:原理與實踐

《OpenStack CI/CD:原理與實踐》是2018年11月機械工業出版社出版的圖書,作者是董文娟 尚小冬 張軍 。

基本介紹

  • 中文名:OpenStack CI/CD:原理與實踐
  • 作者:董文娟 尚小冬 張軍
  • 出版社機械工業出版社
  • 出版時間:2018年11月1日
  • 頁數:278 頁
  • 定價:69 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787111611912
內容簡介,圖書目錄,

內容簡介

中興通訊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 23

相關詞條

熱門詞條

聯絡我們