logo
分类于: 设计 人工智能

简介

持续集成与持续部署实践

持续集成与持续部署实践 0.0分

资源最后更新于 2020-08-17 00:12:13

作者:陈志勇

出版社:人民邮电出版社

出版日期:2019-01

ISBN:9787115506818

文件格式: pdf

标签: 项目管理 计算机 持续集成

简介· · · · · ·

本书结合实例介绍持续集成与持续部署过程中的相关知识,包括从源代码管理(版本管理、代码扫描、代码审核)到集成部署(编译打包、流水线、容器化部署),再到自动化测试(单元测试、接口测试),最后到生产发布(镜像仓库、镜像管理、日志管理、网络管理、持久化方案、服务发现、服务编排等)的整个过程。参照书中内容即可在企业中落地持续集成与持续部署。

本书适合有志于投身运维的读者,以及还处在手工部署环境中的测试团队、运维团队、开发团队。由于可操作性较强,本书也适合作为大专院校相关专业师生的学习用书和培训学校的教材。

直接下载

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

第 一部分 价值驱动
第 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