需要完成的目标


Pipeline 作为 Jenkins2.0 系列最大的改变,其自身具有着构建步骤代码化、构建过程视图化等优势,更可以结合被预言有可能改变 jenkins 万年不变页面的插件"Open Blue Ocean"使用。

使用 Pipeline 完成基本的 Deploy

DEMO 代码见下

node{
  stage('get clone')
  {
  git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'
  //check CODE
  }
  stage('mvn build')
  {
  //mvn构建
  timeout(time: 30, unit: 'SECONDS')
   {
     //设置30秒超时时间  
  bat 'mvn install -Dmaven.test.skip=true'
   }
  }
  stage('deploy')
   {
  bat 'deploy.bat'
     //执行部署脚本
   }
}

提取出公有部分封装为公有 JOB,在另一个 JOB 中引用

场景描述:同一项目组有若干个模块,其有较高的耦合性,而且步骤均一致。只有路径、部分参数等,所以采用提取这部分作为一个参数化 job,每个模块构建步骤采用 pipeline 传递自身特有参数的方式触发构建。

build job: 'test-Pipline', parameters: [string(name: 'Stringinput', value: '1'), booleanParam(name: 'buildsucess', value: true)]

实现 pipeline 对结果逻辑的判断

在主节点中执行检查系统是否是 UNIX,打印对应信息。

node('master')
{
stage('check system')
{    
if(isUnix()){
echo "this is Unix"
}
else
{
echo "this is Linux"
}
}
}

实现多节点同时并发 build

在主节点中执行检查系统是否是 UNIX,打印对应信息。节点 1 进行 pybot 的自动化脚本执行,如果节点够多而且先后执行顺序并不依赖严重,完全可以分多个节点执行来提高执行效率。

node('master')
{
stage('111')
{    
if(isUnix()){
echo "this is Unix"
}
else
{
echo "this is Linux"
}
}
}
node('node1') {
    bat 'pybot hello_world'
}

### 结合插件 Open Blue Ocean 使用 Pipeline
首先安装插件这里写图片描述
安装成功后在 jenkins 登陆后的正中间可以看到一个按钮,见下图
这里写图片描述
点击进入后,可以对具体的 JOB 进行构建,查看状态,等
这里写图片描述

PS:欢迎个位提出自己的观点和看法


↙↙↙阅读原文可查看相关链接,并与作者交流