Jenkins Pipeline是一套插件,支持将连续输送Pipeline实施和整合到Jenkins。Pipeline提供了一组可扩展的工具,用于通过PipelineDSL为代码创建简单到复杂的传送Pipeline。

 对于单个项目来说,使用这样的Pipeline来构建能够满足绝大部分需求,但是这样做也有很多缺陷,包括:

多个项目的Pipeline打包脚本不能公用,导致一个项目写一份脚本,维护比较麻烦。
Jenkins提供了一个更优雅的管理Pipeline脚本的方式,在配置项目Pipeline的时候,选择Pipeline script from SCM。
这样,Jenkins在启动job的时候,首先会去仓库里面拉取脚本,然后再运行这个脚本。在脚本里面,我们规定的构建方式和流程,就会按部就班地执行。

接下来我们来实践下。

环境:Docker        
容器管理平台:Rancher        
语言:Java**  
Jenkins安装*
**Pipeline插件安装**            
流水线插件            
系统管理--->管理插件--->可选插件--->搜索pipeline--->点击直接安

Jenkins pipeline自动化构建审批功能_第1张图片

  **extended choice parameter插件安装**:    
  参数化构建过程,构建的时候可以多选框来选择要构建的项目模块    
  系统管理--->管理插件--->可选插件--->搜索extended choice parameter---->点击直接安装

Jenkins pipeline自动化构建审批功能_第2张图片

新建一个pipeline的job
    点击参数构建化

Jenkins pipeline自动化构建审批功能_第3张图片

 新建分支版本参数

Jenkins pipeline自动化构建审批功能_第4张图片

新建项目名称参数

Jenkins pipeline自动化构建审批功能_第5张图片

新建rancher id环境变量

Jenkins pipeline自动化构建审批功能_第6张图片

新建rancher应用分类

Jenkins pipeline自动化构建审批功能_第7张图片

流水线配置

Jenkins pipeline自动化构建审批功能_第8张图片

Repositories Jenkinsfile脚本所在分支
Branches to build是Jenkinsfile所在分支

脚本

Jenkins pipeline自动化构建审批功能_第9张图片

Jenkins pipeline自动化构建审批功能_第10张图片

增加一个审批功能,需要执行人点击确认才能继续构建,我这边只是简单的增加提醒功能,更多的功能自行到网速查阅。

Jenkins pipeline自动化构建审批功能_第11张图片

Jenkins pipeline自动化构建审批功能_第12张图片

Jenkins pipeline自动化构建审批功能_第13张图片

这边只要修改每个job的参数上面的某些变量即可,无需更改构建脚本,不管几个Job,都可共同一个脚本。
我这边只是举一个简单的例子,大家实际应用中,需要转变思路。

本文出自https://blog.51cto.com/blogger/publish?old=1