认识自由风格
自由风格是 Jenkins 在 1.x 时代最具代表性的设计,正如它的名字一般,在自由风格之中,我们可以不受任何束缚,将自己的思路以及想法落在实地,可以说用好自由风格,基本上就等于熟悉了Jenkins。
了解自由风格
我个人理解:自由风格的核心有两点,只需要抓住这两点核心,那么无论你所面临的部署情况再复杂,也都可以从容应对。
这两个核心点,分别是:参数化构建与执行 Shell。
- 参数化构建用于定义在构建过程中所遇到的变量。
- 执行 Shell 用于通过编写脚本,来完成发布任务。
抓住这两个核心点之后,其余的各种配置项,都是作为辅助的存在。我希望你在接触,了解,学习,探索一个东西的时候,都能够用简单清晰的视角来看待,从而能够快速理解并上手,不至于被冗杂的配置项吓到。
接下来我将简单介绍一下,如何结合自由风格,来解决我们日常工作中的构建需求。
整理思路
首先用一句话来总结发布系统:所谓发布系统,就是把一个应用从源码状态,到打包,传包,重启的这些手动操作步骤,平替下来的一个系统。所谓 CICD 思想,应用的可部署性等名词,即是体现在这句话之上。
如上所言,在承接某个,或者某一类项目的交付工作时,首先我们要梳理出项目部署的思路或者流程,完成这一步的工作,将会作为我们配置 Jenkins 的行动指导方针。
换句话说,在没有 Jenkins 的时代,项目通过手工,或者脚本进行发布的时候,有哪些流程步骤,只要我们了解清楚了,那么对接 Jenkins 就只不过是将原来的手工部署,借助 Jenkins 的功能,转化成自动部署而已。
抓住这一核心思想,无论你面对的是什么样的项目,或者什么样特殊的场景,都能够从容应对,无所畏惧。
正如上图整理的自由风格两大核心点我们只需要把一类项目中不同的部分,抽离为参数(比如项目的分支,项目的部署逻辑等),相同的部分,写成脚本放在执行 Shell 中,一个通用的自由风格配置思路就完成了。
接下来,我将会用一些实际生产中的应用案例,来介绍 Jenkins 自由风格的配置以及应用。