会员   密码 您忘记密码了吗?
1,577,362 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > 持續集成與持續部署實踐
持續集成與持續部署實踐
上一张
下一张
prev next

持續集成與持續部署實踐

作者: 陳志勇
出版社: 人民郵電出版社
出版日期: 2019-06-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT534.00
市场价格: RM96.00
本店售价: RM85.44
促销价: RM84.48
剩余时间: 请稍等, 正在载入中...
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

本書結合實例介紹持續集成與持續部署過程中的相關知識,包括從源代碼管理(版本管理、代碼掃描、代碼審核)到集成部署(編譯打包、流水線、容器化部署),再到自動化測試(單元測試、介面測試),最後到生產發布(鏡像倉庫、鏡像管理、日誌管理、網路管理、持久化方案、服務發現、服務編排等)的整個過程。參照書中內容即可在企業中落地持續集成與持續部署。

本書適合有志於投身運維的讀者,以及還處在手工部署環境中的測試團隊、運維團隊、開發團隊。由於可操作性較強,本書也適合作為大專院校相關專業師生的學慣用書和培訓學校的教材。



作者介紹

錢琪,曾任職于AMD、思科、中國電信、VMWare等企業,擅長測試開發、自動化測試、性能測試,擁有豐富的持續集成、持續部署實踐經驗。

孫金飛,萬達網科質量管理部技術專家,曾擔任平安付、挖財等公司測試總監,服務過騰訊、淘寶、百度、平安、挖財等企業,擅長測試開發、自動化測試、測試管理、性能測試,擁有豐富的持續集成、持續部署實踐經驗。

陳志勇(天勝),曾任職于諾亞舟、上汽通用、平安集團、中國電信等企業,從事DevOps開發、性能測試工作,擁有豐富的開發、項目管理、性能測試經驗,著有《全棧性能測試修煉寶典JMeter實戰》。

李誠誠,翼支付消費金融事業群自動化測試專家,曾任職于平安付、挖財,擅長性能測試、自動化測試、測試開發,擁有豐富的持續集成、性能測試經驗。


目錄

第一部分 價值驅動
第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