Devops关键工具及技术(二)—Jenkins2.0 Pipeline

在上一篇文章Devops关键工具及技术(一)—Jenkins 容器化中,我们实现了Jenkins的容器化,并利用Jenkins的Docker插件实现Slave容器云。并使用了基本的pipeline。这篇文章我们将会介绍Jenkins2.0的Pipeline。

Pipeline

Jenkins2.0中最大的一个特性就是Pipeline,实际使用中Pipeline已经超越了我们对jenkins本身的理解,可能在之前我们大多数把Jenkins当做是一个持续集成的工具。但是在Jenkins2.0中,Jenkins完成了CI到CD的华丽转身,而且因为Jenkins的开放性,随着一些测试plugin的加入,CT持续测试也可以在Jenkins Pipeline上实现。以及多节点的组合式任务,使得Jenkins可以实现复杂的发布流程。
如下图Jenkins官方的一个CD模型流程图。
在这里插入图片描述

Pipeline主要由三部分组成。Node、Stage、Step。

  • Node

我们可以将Node称为是节点或者Agent。节点可以执行某一阶段(Stage)、某几阶段(Stage)乃至整个Pipeline,就看我们Pipeline中在哪里去定义Node。我们可以将Node作为Jenkins Master的Slave 节点来分担Master节点的构建以及执行负载。也可以将Node当做测试、部署的专用节点。比如我们可以增加一个Ansible节点用来做自动化部署,增加 一个Jmeter节点用来做性能测试。

  • Stage

我们可以将Stage称为阶段,每一个Stage为Pipeline中的一个小部分,而每个Stage中最小部分为Step。比如一个简单的持续集成Pipeline。我们可以分为两个Stage,第一个是git clone code,把最新代码拉下来,第二个为Mvn Install,即利用Maven进行代码编译构建。

  • Step
    我们可以把Step称为步骤,一个或者多个Step将会组成一个Stage,Step是Pipeline组成的最小单位。一个Step可以很简单,比如echo “hello”。也可以很复杂,比如sh‘’ “docker build -t jenkins:master .”。

Pipeline有两种类型:声明式和脚本式。

  • 声明式Pipeline
pipeline {
    agent any   //定义使用哪个Node进行Job的执行
    stages {
        stage('Build') {   //定义Build的stage
            steps {    //定义Build的stage下面的所有step
                // 
            }
        }
        stage('Test') { 
            steps {
                // 
            }
        }
        stage('Deploy') { 
            steps {
                // 
            }
        }
    }
}
  • 脚本式Pipeline
node {    // //定义使用哪个Node进行Job的执行与声明式中的Agent等同。
    stage('Build') { //定义Build的stage
        //           //定义Build的stage下面的所有step
    }
    stage('Test') { 
        // 
    }
    stage('Deploy') { 
        // 
    }
}

我们写pipeline过程中,往往会不熟悉一些Pipeline到底该怎么写。不过Jenkins里面给提供了我们快速向导的功能。
在这里插入图片描述
在这里插入图片描述

另外Pipeline可以直接在Jenkins的Console里面进行编写,也可以以Jenkinsfile的形式放到源码库中,这样可以对Jenkinsfile也进行分支管理以及不同版本的管理。对应代码库的Jenkinsfile方式如下图
在这里插入图片描述

更多Pipeline的用法以及说明,可以参考Jenkins官方文档

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值