持续集成与持续部署实践

持续集成与持续部署实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2019-06
版次: 1
ISBN: 9787115506818
定价: 89.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 398页
字数: 1千字
47人买过
  • 本书结合实例介绍持续集成与持续部署过程中的相关知识,包括从源代码管理(版本管理、代码扫描、代码审核)到集成部署(编译打包、流水线、容器化部署),再到自动化测试(单元测试、接口测试),*后到生产发布(镜像仓库、镜像管理、日志管理、网络管理、持久化方案、服务发现、服务编排等)的整个过程。参照书中内容即可在企业中落地持续集成与持续部署。
      本书适合有志于投身运维的读者,以及还处在手工部署环境中的测试团队、运维团队、开发团队。由于可操作性较强,本书也适合作为大专院校相关专业师生的学习用书和培训学校的教材。 钱琪,曾任职于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
  • 内容简介:
    本书结合实例介绍持续集成与持续部署过程中的相关知识,包括从源代码管理(版本管理、代码扫描、代码审核)到集成部署(编译打包、流水线、容器化部署),再到自动化测试(单元测试、接口测试),*后到生产发布(镜像仓库、镜像管理、日志管理、网络管理、持久化方案、服务发现、服务编排等)的整个过程。参照书中内容即可在企业中落地持续集成与持续部署。
      本书适合有志于投身运维的读者,以及还处在手工部署环境中的测试团队、运维团队、开发团队。由于可操作性较强,本书也适合作为大专院校相关专业师生的学习用书和培训学校的教材。
  • 作者简介:
    钱琪,曾任职于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
查看详情
12
相关图书 / 更多
您可能感兴趣 / 更多