Jenkins Pipeline 流水线

流水线既能作为任务的本身,也能作为 Jenkinsfile

使用流水线可以让我们的任务从UI手动操作,转换为代码化,像dockerfile 一样。从shell 命令到配置文件,更适合大型项目,可以让团队其他开发者同时参与进来,

完整语法

tools:添加工具,如maven、JDK

triggers:基于hook模式触发流水线任务;

environment:声明全局通用的环境变量;

stages:定义任务步骤,即流程分段处理;

post.always:最终执行的动作;

pipeline {

agent any

tools {}

triggers {}

environment {}

stages {

stage('步骤说明') {

steps {

echo ''

}

}

}

post { always {}} //执行完任务后,处理

}

5个必备的组成部分

pipeline: 整条流水线

agent: 指定执行器

stages: 所有阶段

stage:某一阶段,可有多个

steps: 阶段内的每一步,可执行命令

agent:该部分指定整个Pipeline或特定阶段将在Jenkins环境中执行的位置,具体取决于该agent 部分的放置位置。该部分必须在pipeline块内的顶层定义 ,也可以使用在stage级。

stage:表示这个Pipeline的某一个执行阶段(使用stage使得逻辑变得更加简单明了)

steps: 包含一个或者多个在stage块中执行的step序列(在这里执行操作:运行maven或者部署等等)

environment:指定键值对,可用于step中,主要是为常量或者变量赋值,根据所在的位置来决定其作用范围(类似于java中全局和局部的概念)

options:允许执行pipeline内置的专用选项,也可以使用由插件提供的

parameters:提供触发pipeline时的参数列表

trigger:定义了触发pipeline的方式(jenkins1.x中的pollscm定时构建)

tools:自动安装工具,注意这里使用的一定是在jenkins全局配置中已经定义好了的

when:可以用来执行一些代码逻辑

post:可以根据pipeline的状态来执行一些操作

安装插件

Pipeline

Pipeline: Stage ViewVersion #不安装的话不会出来阶段视图

添加项目

添加项目,选择 Pipeline (流水线)

流水线

从SCM 获取(SVN或GIT)

2. 内嵌代码(学习用,这边先用内嵌方式)

pipeline {#整体定义

agent any #任务交给某个节点执行(any 任意)

stages {

stage('拉取代码') { #每一步的操作

steps { #具体执行内容

echo '拉取成功'

}

}

stage('执行构建') {

steps {

echo '构建完成'

}

}

}

}

支持单独执行某个阶段

Jenkins 阶段视图不见了?安装:Pipeline: Stage ViewVersion,就可以出来了

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。