持續集成與持續部署實踐( 簡體 字) | |
作者:陳志勇 錢琪 孫金飛 李誠誠 | 類別:1. -> 程式設計 -> 綜合 |
出版社:人民郵電出版社 | 3dWoo書號: 51262 詢問書籍請說出此書號! 有庫存 NT售價: 445 元 |
出版日:6/1/2019 | |
頁數:398 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115506818 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第 一部分 價值驅動
第 1章 為什么要CI&CD 2 1.1 CI&CD的價值 2 1.2 CI&CD帶來的變化 3 1.3 CI&CD實施現狀 4 1.4 CI&CD技術棧 5 1.5 大規模部署的煩惱 6 1.6 實施云平臺化 7 1.7 本章小結 11 第二部分 持續集成 第 2章 代碼管理 14 2.1 代碼版本管理工具GitLab 14 2.1.1 安裝GitLab CE 14 2.1.2 配置GitLab 24 2.1.3 GitLab的使用說明 33 2.2 代碼掃描和管理平臺 SonarQube 42 2.2.1 SonarQube平臺的組成 結構和集成 42 2.2.2 SonarQube服務器 44 2.2.3 SonarQube掃描器 52 2.2.4 SonarQube服務器的 界面 56 2.3 代碼審核工具Gerrit 65 2.3.1 Gerrit 65 2.3.2 Gerrit的安裝和配置 66 2.3.3 GitWeb的安裝和配置 75 2.3.4 在Gerrit中集成LDAP 認證 78 2.3.5 Gerrit和GitLab的 集成 79 2.3.6 Gerrit的基本用法 86 2.4 本章小結 92 第3章 Jenkins基礎知識 93 3.1 Jenkins 93 3.2 Jenkins的安裝 94 3.2.1 使用Docker安裝 Jenkins 94 3.2.2 為CentOS虛擬機安裝 Jenkins 106 3.3 Jenkins Home目錄 108 3.4 Jenkins的升級以及備份和 還原 111 3.4.1 升級Jenkins 111 3.4.2 備份和還原Jenkins 111 3.5 Jenkins的分布式構建模式 114 3.6 Jenkins配置 120 3.6.1 Jenkins界面 120 3.6.2 Jenkins系統配置 125 3.6.3 Jenkins全局安全配置 130 3.6.4 Jenkins全局工具配置 136 3.6.5 Jenkins CLI 140 3.7 Jenkins插件的配置和使用 144 3.7.1 強大的插件功能 144 3.7.2 安裝和更新插件 145 3.8 本章小結 150 第4章 持續集成實戰 151 4.1 源碼下拉和管理 152 4.1.1 創建任務 152 4.1.2 Git源碼管理 153 4.1.3 憑據 154 4.1.4 分支管理 158 4.1.5 Git源碼管理的附加 操作 159 4.1.6 拉取多個Git倉庫 161 4.2 Maven源碼構建 162 4.2.1 構建一個Maven 項目 162 4.2.2 配置Build模塊 164 4.3 集成SonarQube進行代碼 掃描 167 4.3.1 對Sonar和Jenkins進行 集成 167 4.3.2 為Maven任務配置Sonar 掃描 169 4.4 觸發設定 173 4.4.1 定時構建 173 4.4.2 遠程構建 174 4.4.3 GitLab觸發構建 175 4.4.4 Gerrit觸發構建 178 4.4.5 其他工程構建后觸發 184 4.5 郵件提醒 184 4.5.1 Jenkins全局配置 184 4.5.2 在Jenkins任務中配置 郵件提醒 185 4.5.3 郵件模板配置 187 4.6 任務參數化配置 197 4.6.1 Jenkins自帶常用 參數 198 4.6.2 Node參數 199 4.6.3 Git參數 201 4.6.4 動態選擇參數 203 4.7 上下游任務設定 207 4.8 執行條件設定 209 4.8.1 設置Conditional step (single) 210 4.8.2 設置Conditional steps (multiple) 214 4.9 實例一:Git代碼提交觸發+Maven構建+代碼掃描+郵件通知 214 4.9.1 Build部分配置 215 4.9.2 Artifactory構建倉庫 配置 215 4.10 實例二:Git源碼下拉+參數化 構建+多環境部署 219 4.10.1 任務參數化 220 4.10.2 多項目代碼下拉 222 4.10.3 配置多階段子任務 223 4.10.4 在子任務之間傳遞部署 執行文件 225 4.11 Pipeline和Blue Ocean 227 4.11.1 Jenkins Pipeline 227 4.11.2 多分支流水線任務 239 4.11.3 通過Blue Ocean展示和 創建任務 242 4.12 在Jenkins中集成Kubernetes 245 4.12.1 基于Kubernetes集群的 Jenkins 245 4.12.2 安裝Jenkins Master 246 4.12.3 配置Jenkins Master 252 4.12.4 通過Pipeline腳本創建 動態Slave節點 256 4.13 本章小結 258 第5章 自動化測試集成 259 5.1 Jenkins+Maven+JMeter 259 5.1.1 環境準備 259 5.1.2 Maven+JMeter執行 260 5.1.3 Jenkins+Maven+JMeter 任務構建 270 5.2 Jenkins+Robot Framework 270 5.2.1 Robot Framework介紹和 安裝 270 5.2.2 在Robot Framework中 集成Jenkins 275 5.3 本章小結 283 第三部分 持續部署 第6章 持續部署設計 286 6.1 持續部署的問題 286 6.2 解決方案 288 6.2.1 Rancher 289 6.2.2 Rancher運行機理 291 6.2.3 Rancher如何解決持續 部署的問題 293 6.3 持續部署場景 295 6.3.1 單系統部署結構 295 6.3.2 普通集群部署結構 296 6.3.3 微服務系統部署結構 296 6.3.4 租戶隔離結構 297 6.4 本章小結 297 第7章 安裝環境 298 7.1 準備工作 298 7.2 安裝Docker 301 7.3 安裝Rancher 302 7.3.1 安裝Rancher HA 環境 302 7.3.2 添加本地賬戶 306 7.3.3 設置環境 308 7.3.4 添加主機 309 7.4 集成Harbor鏡像倉庫 311 7.4.1 下拉鏡像 311 7.4.2 配置 312 7.4.3 啟動容器 313 7.4.4 修改默認的HTTP 端口 315 7.4.5 集成Harbor到 Rancher中 315 7.4.6 測試連通 316 7.4.7 查看Harbor日志 319 7.4.8 從Rancher商店集成 Harbor 319 7.5 Rancher名詞約定 321 7.6 本章小結 324 第8章 持續部署 325 8.1 單系統部署 325 8.1.1 源碼掃描、編譯、 打包 326 8.1.2 制作鏡像并上傳到 Harbor中 327 8.1.3 通過rancher-compose啟動 容器 329 8.1.4 在Jenkins中訪問 Rancher 332 8.2 集群部署 333 8.2.1 部署多個實例 334 8.2.2 建立Load Balancer 335 8.2.3 持續部署 339 8.2.4 用nginx作為 Load Balancer 340 8.3 微服務部署 343 8.3.1 微服務部署需求 343 8.3.2 在Docker中實現日志 統一收集 345 8.3.3 filebeat與ELK的 集成 348 8.3.4 將Docker日志傳遞到 ELK 352 8.3.5 通過Docker日志收集 log-pilot 353 8.4 租戶隔離 356 8.5 同一鏡像的多環境發布 357 8.6 本章小結 360 第9章 網絡方案 361 9.1 Docker網絡 361 9.1.1 Host網絡 361 9.1.2 Bridge網絡 362 9.1.3 Container網絡 363 9.1.4 none網絡 363 9.2 Rancher網絡方案 364 9.3 IPSec網絡 366 9.3.1 IPSec的定義 366 9.3.2 Rancher的IPSec網絡 367 9.4 VXLAN 368 9.4.1 什么是VXLAN 368 9.4.2 Rancher的VXLAN 驅動 369 9.5 本章小結 371 第 10章 服務管理 372 10.1 服務編排 372 10.1.1 Add Service 372 10.1.2 Command 373 10.1.3 Volumes 374 10.1.4 Networking 375 10.1.5 Security/Host 376 10.2 健康檢查 379 10.3 藍綠發布 380 10.4 灰度發布 381 10.5 本章小結 381 第 11章 鏡像倉庫規劃 382 11.1 鏡像倉庫的需求 382 11.2 鏡像倉庫規劃 382 11.3 復制Harbor鏡像 383 11.3.1 分別準備好測試與生產 環境的鏡像倉庫 384 11.3.2 設置復制策略 384 11.4 本章小結 386 第 12章 存儲方案 387 12.1 存儲需求 387 12.1.1 文件存儲需求 387 12.1.2 對象存儲需求 387 12.1.3 塊存儲需求 388 12.1.4 分布式存儲需求 388 12.2 常用方案 389 12.3 Rancher NFS示例 390 12.4 本章小結 394 第 13章 服務編排工具 395 13.1 Rancher 2.0 395 13.2 Rancher 2.0體驗 397 13.3 本章小結 398 本書結合實例介紹持續集成與持續部署過程中的相關知識,包括從源代碼管理(版本管理、代碼掃描、代碼審核)到集成部署(編譯打包、流水線、容器化部署),再到自動化測試(單元測試、接口測試),最后到生產發布(鏡像倉庫、鏡像管理、日志管理、網絡管理、持久化方案、服務發現、服務編排等)的整個過程。參照書中內容即可在企業中落地持續集成與持續部署。
本書適合有志于投身運維的讀者,以及還處在手工部署環境中的測試團隊、運維團隊、開發團隊。由于可操作性較強,本書也適合作為大專院校相關專業師生的學習用書和培訓學校的教材。 |