作 者:陳志勇 錢琪 孫金飛 李誠誠 著
定 價:89
出 版 社:人民郵電出版社
出版日期:2019年06月01日
頁 數:398
裝 幀:平裝
ISBN:9787115506818
騰訊研發總監leo fan,阿裡巴巴不錯技術專家吳毓雄,滴滴出行不錯技術專家任楊,飛谷雲創始人\\大數據實戰專家\\平安壹錢包前大數據架構師張粵磊聯合推薦來自一線的實踐經驗,深入呈現技術細節;詳實的實操示例,即學即用的實戰技術講解了持續集成中引人入勝的內容:CI/CD到底要解決什麼問題?它與DevOps之間的關繫是怎樣的?程序員如何用工具化的繫統持續進行代碼的版本管理、構建、打包、集成、測試和部署?利用雲平臺和容器技術實現彈性伸縮價值等
●目錄第 一部分 價值驅動第 1章 為什麼要CI&CD 21.1 CI&CD的價值 21.2 CI&CD帶來的變化 31.3 CI&CD實施現狀 41.4 CI&CD技術棧 51.5 大規模部署的煩惱 61.6 實施雲平臺化 71.7 本章小結 11第二部分 持續集成第 2章 代碼管理 142.1 代碼版本管理工具GitLab 142.1.1 安裝GitLab CE 142.1.2 配置GitLab 242.1.3 GitLab的使用說明 332.2 代碼掃描和管理平臺SonarQube 422.2.1 SonarQube平臺的組成結構和集成 422.2.2 SonarQube服務器 442.2.3 SonarQube掃描器 522.2.4 SonarQube服務器的界面 562.3 代碼審核工具Gerrit 652.3.1 Gerrit 652.3.2 Gerrit的安裝和配置 662.3.3 GitWeb的安裝和配置 752.3.4 在Gerrit中集成LDAP認證 782.3.5 Gerrit和GitLab的集成 792.3.6 Gerrit的基本用法 862.4 本章小結 92第3章 Jenkins基礎知識 933.1 Jenkins 933.2 Jenkins的安裝 943.2.1 使用Docker安裝Jenkins 943.2.2 為CentOS虛擬機安裝Jenkins 1063.3 Jenkins Home目錄 1083.4 Jenkins的升級以及備份和還原 1113.4.1 升級Jenkins 1113.4.2 備份和還原Jenkins 1113.5 Jenkins的分布式構建模式 1143.6 Jenkins配置 1203.6.1 Jenkins界面 1203.6.2 Jenkins繫統配置 1253.6.3 Jenkins全局安全配置 1303.6.4 Jenkins全局工具配置 1363.6.5 Jenkins CLI 1403.7 Jenkins插件的配置和使用 1443.7.1 強大的插件功能 1443.7.2 安裝和更新插件 1453.8 本章小結 150第4章 持續集成實戰 1514.1 源碼下拉和管理 1524.1.1 創建任務 1524.1.2 Git源碼管理 1534.1.3 憑據 1544.1.4 分支管理 1584.1.5 Git源碼管理的附加操作 1594.1.6 拉取多個Git倉庫 1614.2 Maven源碼構建 1624.2.1 構建一個Maven項目 1624.2.2 配置Build模塊 1644.3 集成SonarQube進行代碼掃描 1674.3.1 對Sonar和Jenkins進行集成 1674.3.2 為Maven任務配置Sonar掃描 1694.4 觸發設定 1734.4.1 定時構建 1734.4.2 遠程構建 1744.4.3 GitLab觸發構建 1754.4.4 Gerrit觸發構建 1784.4.5 其他工程構建後觸發 1844.5 郵件提醒 1844.5.1 Jenkins全局配置 1844.5.2 在Jenkins任務中配置郵件提醒 1854.5.3 郵件模板配置 1874.6 任務參數化配置 1974.6.1 Jenkins自帶常用參數 1984.6.2 Node參數 1994.6.3 Git參數 2014.6.4 動態選擇參數 2034.7 上下遊任務設定 2074.8 執行條件設定 2094.8.1 設置Conditional step(single) 2104.8.2 設置Conditional steps(multiple) 2144.9 實例一:Git代碼提交觸發+Maven構建+代碼掃描+郵件通知 2144.9.1 Build部分配置 2154.9.2 Artifactory構建倉庫配置 2154.10 實例二:Git源碼下拉+參數化構建+多環境部署 2194.10.1 任務參數化 2204.10.2 多項目代碼下拉 2224.10.3 配置多階段子任務 2234.10.4 在子任務之間傳遞部署執行文件 2254.11 Pipeline和Blue Ocean 2274.11.1 Jenkins Pipeline 2274.11.2 多分支流水線任務 2394.11.3 通過Blue Ocean展示和創建任務 2424.12 在Jenkins中集成Kubernetes 2454.12.1 基於Kubernetes集群的Jenkins 2454.12.2 安裝Jenkins Master 2464.12.3 配置Jenkins Master 2524.12.4 通過Pipeline腳本創建動態Slave節點 2564.13 本章小結 258第5章 自動化測試集成 2595.1 Jenkins+Maven+JMeter 2595.1.1 環境準備 2595.1.2 Maven+JMeter執行 2605.1.3 Jenkins+Maven+JMeter任務構建 2705.2 Jenkins+Robot Framework 2705.2.1 Robot Framework介紹和安裝 2705.2.2 在Robot Framework中集成Jenkins 2755.3 本章小結 283第三部分 持續部署第6章 持續部署設計 2866.1 持續部署的問題 2866.2 解決方案 2886.2.1 Rancher 2896.2.2 Rancher運行機理 2916.2.3 Rancher如何解決持續部署的問題 2936.3 持續部署場景 2956.3.1 單繫統部署結構 2956.3.2 普通集群部署結構 2966.3.3 微服務繫統部署結構 2966.3.4 租戶隔離結構 2976.4 本章小結 297第7章 安裝環境 2987.1 準備工作 2987.2 安裝Docker 3017.3 安裝Rancher 3027.3.1 安裝Rancher HA環境 3027.3.2 添加本地賬戶 3067.3.3 設置環境 3087.3.4 添加主機 3097.4 集成Harbor鏡像倉庫 3117.4.1 下拉鏡像 3117.4.2 配置 3127.4.3 啟動容器 3137.4.4 修改默認的HTTP端口 3157.4.5 集成Harbor到Rancher中 3157.4.6 測試連通 3167.4.7 查看Harbor日志 3197.4.8 從Rancher商店集成Harbor 3197.5 Rancher名詞約定 3217.6 本章小結 324第8章 持續部署 3258.1 單繫統部署 3258.1.1 源碼掃描、編譯、打包 3268.1.2 制作鏡像並上傳到Harbor中 3278.1.3 通過rancher-compose啟動容器 3298.1.4 在Jenkins中訪問Rancher 3328.2 集群部署 3338.2.1 部署多個實例 3348.2.2 建立Load Balancer 3358.2.3 持續部署 3398.2.4 用nginx作為Load Balancer 3408.3 微服務部署 3438.3.1 微服務部署需求 3438.3.2 在Docker中實現日志統一收集 3458.3.3 filebeat與ELK的集成 3488.3.4 將Docker日志傳遞到ELK 3528.3.5 通過Docker日志收集log-pilot 3538.4 租戶隔離 3568.5 同一鏡像的多環境發布 3578.6 本章小結 360第9章 網絡方案 3619.1 Docker網絡 3619.1.1 Host網絡 3619.1.2 Bridge網絡 3629.1.3 Container網絡 3639.1.4 none網絡 3639.2 Rancher網絡方案 3649.3 IPSec網絡 3669.3.1 IPSec的定義 3669.3.2 Rancher的IPSec網絡 3679.4 VXLAN 3689.4.1 什麼是VXLAN 3689.4.2 Rancher的VXLAN驅動 3699.5 本章小結 371第 10章 服務管理 37210.1 服務編排 37210.1.1 Add Service 37210.1.2 Command 37310.1.3 Volumes 37410.1.4 Networking 37510.1.5 Security/Host 37610.2 健康檢查 37910.3 藍綠發布 38010.4 灰度發布 38110.5 本章小結 381第 11章 鏡像倉庫規劃 38211.1 鏡像倉庫的需求 38211.2 鏡像倉庫規劃 38211.3 復制Harbor鏡像 38311.3.1 分別準備好測試與生產環境的鏡像倉庫 38411.3.2 設置復制策略 38411.4 本章小結 386第 12章 存儲方案 38712.1 存儲需求 38712.1.1 文件存儲需求 38712.1.2 對像存儲需求 38712.1.3 塊存儲需求 38812.1.4 分布式存儲需求 38812.2 常用方案 38912.3 Rancher NFS示例 39012.4 本章小結 394第 13章 服務編排工具 39513.1 Rancher 2.0 39513.2 Rancher 2.0體驗 39713.3 本章小結 398
本書結合實例介紹持續集成與持續部署過程中的相關知識,包括從源代碼管理(版本管理、代碼掃描、代碼審核)到集成部署(編譯打包、流水線、容器化部署),再到自動化測測試、接口測試),很後到生產發布(鏡像倉庫、鏡像管理、日志管理、網絡管理、持久化方案、服務發現、服務編排等)的整個過程。參照書中內容即可在企業中落地持續集成與持續部署。本書適合有志於投身運維的讀者,以及還處在手工部署環境中的測試團隊、運維團隊、開發團隊。由於可操作性較強,本書也適合作為大專院校相關專業師生的學習用書和培訓學校的教材。
陳志勇 錢琪 孫金飛 李誠誠 著
錢琪,曾任職於AMD、思科、中國電信、VMWare等企業,擅長測試開發、自動化測試、性能測試,擁有豐富的持續集成、持續部署實踐經驗。孫金飛,萬達網科質量管理部技術專家,曾擔任平安付、挖財等公司測試總監,服務過騰訊、淘寶、百度、平安、挖財等企業,擅長測試開發、自動化測試、測試管理、性能測試,擁有豐富的持續集成、持續部署實踐經驗。陳志勇(天勝),曾任職於諾亞舟、上汽通用、平安集團、中國電信等企業,從事DevOps開發、性能測試工作,擁有豐富的開發、項目管理、性能測試經驗,著有《全棧性能測試修煉寶典JMeter實戰》。李誠誠,翼支付消費金融事業群自動化測試專家,曾任職於平安付、挖財,擅長等