Jenkins 2.x实践指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

2016年4月Jenkins发布了2.0版本(https://jenkins.io/blog/2016/04/26/jenkins-20-is-here/),开始支持pipeline as code。同年11月,pipeline as code作为“采用”项出现在ThoughtWorks技术雷达(https://www.infoq.cn/article/2016%2F11%2Fthoughtworks-radar-forecast)的采用环中。

2019年1月,笔者见同行在微信群里吐槽Jenkins的老旧,比如Jenkins不支持手动stage。经过了解,笔者大概猜到这位朋友还在使用Jenkins 1.x,或者知识还停留在Jenkins 1.x上。因为他说的问题,在Jenkins 2.x中已经不存在了。

这里并不是想说这位朋友不了解Jenkins 2.x,而是想说Jenkins 1.x已经成为过去式。长期以来,在中文网站上能搜到的关于Jenkins的文章大多停留在Jenkins 1.x时代。这样想来,也就能理解为什么这位朋友会有这样的误解了。

自Jenkins 2.0发布已有三个年头,据笔者所知,目前市面上还没有pipeline as code实践方面的书籍。中文的Jenkins书籍,只有《Jenkins权威指南》一本,其中也并没有pipeline as code方面的介绍。本书弥补了这一空白,系统地介绍了Jenkins 2.x的pipeline as code。

本书第1章介绍笔者对软件工程生产力的独到见解;第2章通过一个Hello world示例带领初学者入门Jenkins pipeline;第3章详细介绍Jenkins pipeline的语法;第4∼14章介绍在Jenkins pipeline中如何实现持续集成、持续交付的各个阶段,包括构建、测试、制品管理、部署等;第15章介绍扩展Jenkins pipeline的多种方式,本章对希望通过Jenkins实现持续集成、持续交付平台的读者非常有帮助;第16章介绍Jenkins运维相关知识;第17章介绍笔者整合Jenkins与多个第三方系统,实现ChatOps及自动化运维的经验;为避免读者出现“不知从哪里下手”的情况,第18章通过一个简单的案例介绍如何设计pipeline。

笔者建议所有读者都要阅读第1章和第3章,它们是本书的核心;已经入门了Jenkins pipeline的读者可以跳过第2章;而第4∼14章可以作为参考手册使用。

本书适合对Jenkins有初步认识,希望通过Jenkins实现持续集成、持续交付、DevOps的技术人员,以及希望了解pipeline as code技术在实际工作中如何应用的读者。

最后,感谢策划编辑郑柳洁女士为本书付出的努力;感谢刘杜康和黄献华在百忙之中对部分章节的审校;感谢黄峰达在出版方面的帮助;感谢王晓峰在部署目录命名方面的建议;感谢志平帮助处理我的个人照片;感谢妻子的理解与支持。