pipeline基本概念
1、什么是pipeline将一件需要重复做的事情切割成各个不同的阶段,每一个阶段由独立的单元负责。所有待执行的对象依次进入作业队列。可参照:https://www.cnblogs.com/midhillzhou/p/5588958.html2 指令可参照:https://www.w3cschool.cn/jenkins/jenkins-qc8a28op.htmlagent 表示Jenkins应该为
1、什么是pipeline
将一件需要重复做的事情切割成各个不同的阶段,每一个阶段由独立的单元负责。所有待执行的对象依次进入作业队列。
可参照:https://www.cnblogs.com/midhillzhou/p/5588958.html
2 指令
可参照:https://www.w3cschool.cn/jenkins/jenkins-qc8a28op.html
agent 表示Jenkins应该为Pipeline的这一部分分配一个执行者和工作区。
stage 描述了这条Pipeline的一个阶段。
steps 描述了要在其中运行的步骤 stage
sh 执行给定的shell命令
agent 代理
指定整个Pipeline或特定阶段(stage)将在Jenkins环境中执行的位置,具体取决于该
agent 部分的放置位置,可以在pipeline块内或stage指令内。
pipeline{
//agent用于指定执行job的节点,any为不做限制
agent any
}
parameters 参数
指令提供用户在触发Pipeline时应提供的参数列表。这些用户指定的参数的值通过该params对象可用于Pipeline步骤,只能在pipeline块中定义一次
ps : 变量的引用
在双引号中用${var_name};在单引号中直接用变量名var_name即可
pipeline {
agent any
// 定义参数,后面可以引用
parameters {
string(name: 'PERSON', defaultValue: 'Mr Jenkins', description: 'Who should I say hello to?')
}
stages {
stage('Example') {
steps {
// 引用参数
echo "Hello ${params.PERSON}"
}
}
}
}
options 选项
该指令允许在Pipeline本身内配置Pipeline专用选项,只能在pipeline块中定义一次
pipeline {
agent any
options {
timeout(time: 1, unit: 'HOURS')
}
stages {
stage('Example') {
steps {
echo 'Hello World'
}
}
}
}
environment 环境
指定一系列键值对,这些对值将被定义为所有步骤的环境变量或阶段特定步骤,具体取决于environment指令位于Pipeline中的位置,可以在pipeline块内或stage指令内。
pipeline {
//agent用于指定执行job的节点,any为不做限制
agent any
environment {
MVN_PATH = '/var/maven_home/bin/mvn'
IMG = 'mkevin-docker'
}
//阶段
stages {
//每一个阶段
stage('maven 构建') {
steps{
/*使用mvn构建,使用全路径模式*/
sh '${MVN_PATH} install'
}
}
}
stages 阶段
stage指令用在stages中,且必须传递一个参数,stage下需包含steps,step块中就是具体要执行的命令
pipeline {
//agent用于指定执行job的节点,any为不做限制
agent any
environment {
STR='我是环境'
}
//阶段
stages {
//每一个阶段
stage('stage的参数') {
steps{
/*使用mvn构建,使用全路径模式*/
echo 'STR'
}
}
}
}
更多推荐
所有评论(0)