商品详情
定价:79.0
ISBN:9787121360503
作者:翟志军
版次:第1版
出版时间:2019-04
内容提要:
本书首先介绍笔者对软件工程生产力的独到见解。其次通过一个Hello world带领初学者入门Jenkins pipeline。接着详细介绍Jenkins pipeline的语法,以及在Jenkins pipeline中如何实现持续集成、持续交付中各个阶段,包括构建、测试、制品管理、部署等;在发现现有pipeline的步骤不能满足需求时,扩展Jenkins pipeline多种方式。本书第17章介绍了Jenkins如何整合多个第三方系统,以实现ChatOps及自动化运维。为避免读者“不知从哪下手”的情况,本书通过一个简单的案例介绍从无到有的设计pipeline。
作者简介:
程序员,https://showme.codes 博主。曾任开源中国产品经理。目前就职于美的公司,参与公司IoT系统、DevOps产品的设计与开发,帮助团队提高软件生产力。
目录:
目录
1 关于软件工程生产力 1
11 从另一个角度看“提高软件工程生产力” 1
111 从劳动力要素考虑提高软件工程生产力 2
112 从劳动对象要素考虑提高软件工程生产力 2
113 从生产工具要素考虑提高软件工程生产力 3
114 生产力三要素的意义 3
12 Jenkins 介绍 4
13 Jenkins 与 DevOps 4
14 本章小结 5
2 pipeline 入门 6
21 pipeline 是什么 6
22 Jenkinsfile 又是什么 7
23 pipeline 语法的选择 7
24 创建第一个 pipeline 9
25 从版本控制库拉取 pipeline 11
26 使用 Maven 构建 Java 应用 12
27 本章小结 15
3 pipeline 语法讲解 16
31 必要的 Groovy 知识 16
32 pipeline 的组成 18
321 pipeline 最简结构 18
322 步骤 19
33 post 部分 20
34 pipeline 支持的指令 21
35 配置 pipeline 本身 22
36 在声明式 pipeline 中使用脚本 24
37 pipeline 内置基础步骤 25
371 文件目录相关步骤 25
372 制品相关步骤 27
373 命令相关步骤 28
374 其他步骤 29
375 小贴士 31
38 本章小结 36
4 环境变量与构建工具 37
41 环境变量 37
411 Jenkins 内置变量 37
412 自定义 pipeline 环境变量 38
413 自定义全局环境变量 39
42 构建工具 40
421 构建工具的选择 40
422 tools 指令介绍 41
423 JDK 环境搭建 41
424 Maven 42
425 Go 语言环境搭建 45
426 Python 环境搭建 46
43 利用环境变量支持更多的构建工具 47
44 利用 tools 作用域实现多版本编译 48
45 本章小结 49
5 代码质量 50
51 静态代码分析 50
511 代码规范检查 50
512 使用 PMD 进行代码规范检查 51
513 各静态代码分析器之间的区别 53
52 单元测试 53
521 JUnit 单元测试报告 53
522 JaCoCo 实现代码覆盖率 55
523 代码覆盖率越高,软件的质量就越高吗 58
53 性能测试 59
531 准备性能测试环境 59
532 运行 JMeter 测试 59
54 SonarQube:持续代码质量检查 61
541 Maven 与 SonarQube 集成 62
542 Jenkins 与 SonarQube 集成 64
543 使用 SonarQube Scanner 实现代码扫描 67
544 SonarQube 集成 p3c 68
545 将分析报告推送到 GitLab 70
55 Allure 测试报告:更美观的测试报告 72
551 Allure 测试报告介绍 72
552 集成 Allure、Maven、Jenkins 73
56 当我们谈质量时,谈的是什么 76
57 本章小结 76
6 触发 pipeline 执行 77
61 什么是触发条件 77
62 时间触发 77
621 定时执行:cron 77
622 轮询代码仓库:pollSCM 79
63 事件触发 79
631 由上游任务触发:upstream 79
632 GitLab 通知触发 80
633 在 pipeline 中实现 GitLab trigger 84
64 将构建状态信息推送到 GitLab 85
65 使用 Generic Webhook Trigger 插件实现触发 87
651 从 Webhook 请求中提取参数值 89
652 触发具体某个 Jenkins 项目 90
653 根据请求参数值判断是否触发 Jenkins 项目执行 91
654 控制打印内容 91
655 控制响应 92
66 本章小结 92
7 多分支构建 93
71 创建多分支 pipeline 93
72 根据分支部署到不同的环境 96
73 when 指令的用法 97
74 GitLab trigger 对多分支 pipeline 的支持 99
75 Generic Webhook Trigger 插件在多分支 pipeline 场景下的应用 99
76 本章小结 100
8 参数化 pipeline 101
81 什么是参数化 pipeline 101
82 使用 parameters 指令 101
821 parameters 指令支持的参数类型 102
822 多参数 104
83 由另一个 pipeline 传参并触发 104
84 使用 Conditional BuildStep 插件处理复杂的判断逻辑 106
85 使用 input 步骤 107
851 input 步骤的简单用法 108
852 input 步骤的复杂用法 109
86 小贴士 111
861 获取上游 pipeline 的信息 111
862 设置手动输入步骤超时后,pipeline 自动中止 111
87 本章小结 111
9 凭证管理 112
91 为什么要管理凭证 112
92 凭证是什么 112
93 创建凭证 113
94 常用凭证 114
941 Secret text 114
942 Username with password 115
943 Secret file 115
944 SSH Username with private key 116
95 优雅地使用凭证 117
96 使用 HashiCorp Vault 118
961 HashiCorp Vault 介绍 118
962 集成 HashiCorp Vault 118
97 在 Jenkins 日志中隐藏敏感信息 120
98 本章小结 122
10 制品管理 123
101 制品是什么 123
102 制品管理仓库 123
103 过渡到制品库 124
104 管理 Java 栈制品 125
1041 使用 Maven 发布制品到 Nexus 中 125
1042 使用 Nexus 插件发布制品 127
105 使用 Nexus 管理 Docker 镜像 128
1051 Nexus:创建 Docker 私有仓库 129
1052 创建 Docker 私有仓库凭证 130
1053 构建并发布 Docker 镜像 130
1054 小贴士 131
106 管理原始制品 131
1061 创建 raw 仓库 131
1062 上传制品,获取制品 132
107 从其他 pipeline 中拷贝制品 134
108 版本号管理 135
1081 语义化版本 135
1082 版本号的作用 136
1083 方便生成版本号的 Version Number 插件 137
109 小贴士 138
1091 Nexus 匿名用户权限问题 138
1092 制品库的容量要大 139
1010 本章小结 139
11 可视化构建及视图 140
111 Green Balls 插件 140
112 Build Monitor View 插件 141
113 使用视图 143
1131 使用项目的维度建立视图 143
1132 设置默认视图 145
114 本章小结 146
12 自动化部署 147
121 关于部署有什么好说的 147
1211 部署不等于发布 147
1212 什么是自动化部署 148
1213 自动化运维工具解决的问题 148
122 Jenkins 集成 Ansible 实现自动化部署 149
1221 Ansible 介绍 149
1222 Jenkins 与 Ansible 集成 150
1223 Ansible 插件详解 153
123 手动部署比自动化部署更可靠吗 156
124 如何开始自动化部署 157
125 小贴士 158
126 本章小结 159
13 通知 160
131 邮件通知 160
1311 使用 Jenkins 内置邮件通知功能 160
1312 使用 Email Extension 插件发送通知 162
132 钉钉通知 164
133 HTTP 请求通知  
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺