前言
前面几篇文章都在讲jenkins的搭建和基础配置之类的,今天主要是记录一下如何使用参数化构建来实现一些复杂的功能,example:
1.我们肯定不允许开发或者测试人员随意修改一个我们已经配置好的任务(万一报复社会在配置中加条rm -rf /*,我们就只能哭泣泣了),只允许他们构建,但是往往在开发或者测试环境,需要构建不同的分支的代码,所以我们不能在任务配置中把分支写死了,而是可以通过参数化的形式来允许开发或者测试修改分支
2.作为一个运维老司机,万事都得留后路才是硬道理,我们不能光发版,还得在有大BUG的情况下,可以立即回滚到上个版本(虽然不是我们造成的),这个时候,参数化构建也可以起到这样的作用。
下边就一起来看下以上两点具体是如何实现的吧!
1.利用参数化构建实现发版不同分支
First
如上图,在新建一个任务的时候,勾选参数化构建,然后——>添加参数——>字符参数
如上图,其实就是相当于定义了一个变量,变量名叫branch,给这个变量一个默认值develop
如上图,在源码管理处,分支这里引用我们上边配置的参数branch,这样我们在构建的时候传入什么值,就构建什么分支
到这里,利用参数化构建实现不同分支的发版的配置就完成了,下边来看下效果
这样我们就实现了我们说的第一个功能,即使用参数化构建来允许开发人员自行构建想要的分支,又保证了我们的配置安全
2.利用参数化构建实现版本回滚
2.1 配置构建归档
要想利用参数化构建实现版本回滚,我们需要先配置构建归档,即每次构建完生成的jar包要保留起来,以便在回滚的时候用
如上两图配置完成并且构建后,会在jenkins家目录下边的jobs/mgt-server-eureka-dev/builds/2/archive/mgt-eureka/target/ 目录下生成mgt-eureka.jar包
2.2配置相应参数
上图中一共新加了两个参数,一个是选项参数deploy_env,用来判断此次构建是要发版还是回滚,写在第一行的是默认值;另一个是字符参数,在回滚的时候会用到,我们填写要回滚到的某一次构建的构建号即可
以上配置完成后,就实现了回滚的配置,下边来看下构建的时候如何选择与填写参数相应的值