基本信息
书名:Jenkins指南
:89.00元
作者: John Ferguson Smart(约翰·弗格森·
出版社:电子工业出版社
出版日期:2016-10-01
ISBN:9787121299063
字数:
页码:408
版次:1
装帧:平装
开本:16开
商品重量:0.4kg
编辑推荐
通过本书你将学到以下内容。
n√学习如何安装、配置和安全加固你的Jenkins服务器
n√组织管理和监控通用的构建作业
n√集成自动化测试来验证构建,并建立代码质量报告
n√建立有效的团队通知策略和技术
n√配置构建管道、参数化的作业、矩阵构建和其他高级作业
n√管理多个Jenkins服务器来运行分布式构建
n√完成自动化部署和持续交付
n内容提要
本书从实践者的角度,在讲解Jenkins基本原理的同时,深入到持续集成、持续交付领域,为读者梳理出如何使用Jenkins设计和实现一个自动化的、周期性的集成测试过程,帮助读者理解Jenkins适用于什么场景。书中首先介绍Jenkins以及持续集成、持续交付的基础知识;然后安装Jenkins和配置Jenkins服务器,使用Jenkins建立构建作业、进行自动化测试,介绍Jenkins支持的几种安全模式,如何使用Jenkins进行消息通知,如何确保代码质量;后进阶展示如何建立高级的和分布式的构建,如何进行自动化的部署和交付以及对Jenkins的运维。
目录
序 xvii
前言 xix
第1 章 Jenkins 简介 1
简介 1
持续集成基础 1
Jenkins 简介(née Hudson) 3
从Hudso到Jenkins――一个简短的故事 3
应该使用Jenkins 还是Hudso 4
引进持续集成到你的公司 5
阶段1――无构建服务器 5
阶段2――夜间构建 6
阶段3――夜间构建加自动化测试 6
阶段4――加入度量指标 6
阶段5――更认真地对待测试 6
阶段6――自动化验收测试和自动化部署 7
阶段7――持续部署 7
接下来做什么呢 7
第2 章 迈入Jenkins 的步 9
简介 9
准备环境 9
安装Java 10
安装Git 11
创建GitHub 账号 11
配置SSH 密钥 11
创建代码库分支 12
启动Jenkins 13
配置工具 17
配置你的Mave设置 18
配置K 19
通知 20
设置Git 20
你的个Jenkins 构建作业 21
你的个构建作业 26
更多的报告――显示Javadoc 33
添加代码覆盖率和其他度量 34
小结 40
第3 章 安装Jenkins 41
简介 41
下载和安装Jenkins 41
为Jenkins 准备好构建服务器 44
Jenkins 主目录 45
在Debia或者Ubuntu 系统上安装Jenkins 47
在Red Hat、Fedora 或者CentOS 上安装Jenkins 48
在SUSE 或者OpenSUSE 上安装Jenkins 49
以单机应用形式运行Jenkins 49
基于Apache 服务器运行Jenkins 53
在应用服务器上运行Jenkins 54
内存方面的考虑 54
安装Jenkins 为一个Windows 服务 55
Jenkins 主目录里有什么 59
备份Jenkins 数据 62
升级Jenkins 安装 63
小结 64
第4 章 配置Jenkins 服务器 65
简介 65
配置面板――Manage Jenkins 界面 65
配置系统环境 68
配置全局属性 69
配置K 70
配置构建工具 72
Mave 73
Ant 74
Shell 脚本 75
配置版本控制工具 75
配置Subversio 75
配置CVS 75
配置邮件服务器 76
配置代理 77
小结 78
第5 章 设置构建作业 79
简介 79
Jenkins 构建作业 79
创建自由式构建作业 80
通用选项 81
高级项目选项 82
配置源代码管理 83
用Subversio工作 84
使用Git 86
Build Triggers 96
构建作业完成后触发下一个 97
计划构建作业 97
轮询SCM 98
远程触发构建 99
手工构建作业 101
构建步骤 101
Mave构建步骤 102
Ant 构建步骤 103
执行Shell 或Windows 批处理命令 104
在构建中使用Jenkins 环境变量 105
运行Groovy 脚本 108
用其他语言构建项目 110
构建后的操作 110
报告测试结果 110
归档构建产物 110
通知 114
构建其他的项目 114
运行新的构建作业 115
使用Mave构建作业 115
每当SNAPSHOT(快照)依赖被建立时都要进行构建 116
配置Mave构建 116
构建后期操作 118
部署到企业仓库管理器 118
部署到商业企业仓库管理器 122
管理模块 122
Mave构建作业中额外的构建步骤 122
用其他语言使用Jenkins 124
用Grails 构建项目 124
用Gradle 构建项目 126
用Visual Studio MSBuild 构建项目 129
用NAnt 构建项目 130
使用Ruby 和Ruby oRails 构建项目 130
小结 132
第6 章 自动化测试 133
简介 133
自动化单元和集成测试 134
在Jenkins 中配置测试报告 135
显示测试结果 137
忽略测试 140
代码覆盖率 142
使用Cobertura 测量代码覆盖率 143
使用Clover 测量代码覆盖率 152
自动化验收测试 154
JMeter 自动化性能测试 157
请求帮助!我的测试运行得太慢了 165
添加更多的硬件 166
运行更少的集成/ 功能测试 166
并行运行测试 167
小结 167
第7 章 Jenkins 安全 169
简介 169
激活Jenkins 安全 169
Jenkins 安全实例 170
安全域――定义Jenkins 用户 171
使用Jenkins 内置用户数据库 171
使用LDAP 仓库 174
使用微软活动目录 176
使用UNIX 用户和用户组 177
Servlet 容器授权 177
使用AtlassiaCrowd 178
与其他系统集成 179
授权――谁可以做什么 181
安全矩阵 181
基于项目的安全 185
基于角色的安全 188
审计――跟踪用户行为 190
小结 193
第8 章 通知 195
简介 195
电子邮件通知 195
更高级的电子邮件通知 197
声明构建 200
RSS 订阅 202
构建分发器 202
即时消息 204
用Jabber 进行IM 通知 204
使用IRC 的IM 通知 209
IRC 通知 209
桌面通知器 212
通过Notifo 通知 213
移动通知 216
短信通知 216
制造噪声 219
反馈设备 221
小结 222
第9 章 代码质量 225
简介 225
构建过程中的代码质量 226
受欢迎的Java 和Groovy 代码质量分析工具 227
Checkstyle 227
PMD/CPD 230
FindBugs 235
CodeNarc 237
使用Violations 插件报告代码质量问题 238
与自由风格下的构建作业一起工作 239
使用Mave构建作业 242
使用Checkstyle、PMD 和FindBugs 报告 244
报告代码复杂度 247
报告未完成的任务 248
集成Sonar 249
小结 253
第10 章 高级构建 255
简介 255
参数化构建作业 255
创建一个参数化构建作业 256
为构建适配参数化构建脚本 257
高级参数类型 259
使用Subversio标签构建 260
使用Git 标签构建 261
远程启动参数化构建作业 262
参数化构建作业历史 263
参数化触发263
多重结构的构建作业 266
搭建多重结构构建 266
配置从节点轴 267
配置K 轴 268
自定义轴 268
执行多重结构构建 268
自动生成Mave构建作业 271
配置作业 271
使用继承复用作业配置 273
插件支持 275
自由式作业 278
构建协作 278
在Jenkins 中并行构建 279
依赖关系图 279
连接 280
Locks and Latches 插件 281
构建管道及优化 282
通过M2Release 插件管理Mave版本发布 283
复制构建产物 286
构建进阶 289
汇总测试结果 295
构建管道 296
小结 299
第11 章 分布式构建 301
简介 301
Jenkins 分布式构建架构 301
Jenkins 主/ 从策略 302
主节点使用SSH 启动从节点代理 303
使用Java Web Start 手工启动从代理 307
把Jenkins 从节点安装为Windows 服务 309
无主节点模式启动从节点 310
以远程服务方式启动Windows 从节点 310
把构建作业与一个或一组从节点关联 311
节点监控 313
云计算 314
使用AmazoEC2 314
使用CloudBees DEV@cloud 服务 318
小结 319
第12 章 自动化部署和持续交付 321
简介 . 321
实现自动化和持续部署 322
部署脚本 322
数据库更新 322
冒烟测试 325
回滚更改 326
部署到应用程序服务器上 326
部署一个Java 应用 327
部署像Ruby 和PHP 这样基于脚本的应用程序 336
小结 339
第13 章 Jenkins 的维护341
简介 341
监控磁盘空间 341
使用Disk Usage 插件 343
磁盘使用及Jenkins Mave项目类型 344
监控服务器负载 345
备份配置 346
Jenkins 备份基础 346
使用备份插件 348
更为轻量的自动备份 350
构建作业归档 350
构建迁移 351
小结 355
附录A 自动化你的单元和集成测试 357
索引 367
作者介绍
JohFergusoSmart,Wakaleo Consulting的主管,帮助一些公司优化了他们的Java开发实践和基础架构。他提供一些在敏捷开发和测试实践上的培训和指导,比如持续集成,测试驱动开发,构建自动化和持续部署。
文摘
序言
坦白讲,我一开始是被“入门教程”这个标签吸引的,但读下去发现,它对“调试与故障排除”的深度远远超出了我的预期。很多工具的“入门书”往往在出现问题时就束手无策了。然而,这本书用大量的篇幅专门讲解了如何深入到构建日志的底层,如何利用内置的`catchError`块进行精确的错误捕获,以及如何配置Webhook来与其他监控系统进行实时联动。我记得有一次我们遇到了一个非常诡异的超时问题,涉及到网络代理和JVM内存设置的微妙平衡,单纯看错误码根本无法定位。正是书中关于如何启用详细的调试模式,以及如何分析Agent运行时的系统级日志的指导,帮助我快速锁定了问题的根源——原来是Agent的JVM参数配置不当导致的资源竞争。这种“授人以渔”的调试思路,比单纯提供几个“修复命令”要有价值得多。这本书让你从一个被动接收错误的执行者,转变为一个主动分析和优化系统的架构师。
评分作为一名多年的运维工程师,我对各种自动化工具都抱有过期望又失望过。直到我翻开了这本关于持续集成核心概念的书,我才真正体会到什么叫“权威”。这本书的厉害之处在于,它没有沉迷于表面的功能展示,而是非常扎实地搭建了整个生态的底层认知框架。我特别欣赏它对“安全扫描集成”和“凭证管理”那一章节的处理。在过去,我们总是把安全环节看得非常边缘化,用一些粗糙的Shell脚本来勉强支撑。但书里清晰地展示了如何利用内置或第三方插件,在构建的不同阶段嵌入静态代码分析、依赖漏洞扫描,并且如何安全、规范地在Agent上注入或销毁敏感密钥。这种系统性的安全思维的植入,对于提升整个团队对“安全左移”的理解至关重要。读完后,我立刻组织了一场内部培训,把书中关于安全最佳实践的部分作为核心内容进行了分享。这本书的知识体系非常完整,适合那些想要从“会用”升级到“精通”的人。
评分这本书的排版和案例演示达到了一个非常高的水准,这对于技术书籍来说太重要了。我发现很多技术书的作者要么文字功底太弱,导致代码和解释脱节;要么就是案例过于简单,脱离实际复杂场景。但这本则完美地平衡了两者。每一个新的概念,比如参数化构建、环境上下文的传递,都有一个清晰的、从零开始的步骤图解。我尤其喜欢它关于“分布式构建”的章节。我们公司有全球部署的需求,需要在不同地域的Agent上执行特定的部署逻辑。书中详细对比了使用Shared Libraries与直接在项目中嵌入Groovy脚本的优缺点,并且提供了一个基于Git分支策略来动态加载不同配置库的实战方案。这个方案我马上复制并根据我们自己的基础设施做了微调,效果立竿见影。对于那些在复杂组织架构下推行CI/CD的工程师来说,这本书提供了极具参考价值的架构蓝图,它教会你如何构建一个“可扩展”的平台,而不是一个“一次性”的脚本集合。
评分这本书的编排逻辑非常贴合一个项目从原型到成熟生命周期的演进过程。它不仅仅关注构建和部署,还花了很大篇幅来讨论如何管理“配置漂移”和实现环境间的“一致性”。我感触最深的是关于“配置即代码”(Configuration as Code)的实践部分。作者没有停留在单纯地使用Pipeline脚本,而是深入探讨了如何使用外部配置管理工具(比如Vault或Consul)与进行无缝集成,确保开发、测试、预发布和生产环境的配置差异是可追踪、可审计的。这种对DevOps深层理念的贯彻,让这本书从一本单纯的工具指南,升华成了一本企业级自动化实践的参考手册。对于那些正在努力实现完全自动化、零停机部署的团队来说,这本书提供的不仅仅是技术指导,更是一种成熟的、可落地的管理框架。它解答了“如何才能真正做到敏捷和可靠”这个终极问题。
评分天呐,这本书简直是开发部署领域的“救命稻草”!我最近接手了一个老旧的项目,光是理解那个混乱的CI/CD流程就让我焦头烂额。我当时急需一本既有理论深度又不失实战指导的材料,结果找到了它。拿到书的那一刻,我最惊喜的是它对构建流水线(Pipeline)的讲解细致入微。很多教程只会告诉你“这么写”,但这本书深入剖析了Groovy脚本在Pipeline DSL中的应用,让我明白了为什么某些步骤会失败,以及如何优雅地处理异常和条件分支。特别是关于Agent的配置,从Slave节点的动态分配到Label的精确匹配,作者的讲解让我彻底摆脱了过去那种“碰运气”的部署模式。看完前几章,我就动手重构了我们现有的一个核心服务的部署流程,效率提升了至少30%,而且关键是,现在连团队里刚入职的新人都能够快速上手维护这个复杂的流程了。如果你的目标不仅仅是“能跑起来”,而是追求构建系统的健壮性和可维护性,这本书绝对值得你收藏。它不仅仅是一本工具手册,更像是一本关于现代化软件交付哲学的教材。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有