Jenkinsfile 语法一:Declarative Pipeline
- 必须包含在一个pipeline块内,具体来说是:
pipeline {
}
Jenkinsfile 语法一:Declarative Pipeline
- 基本的部分是“steps”,steps 告诉Jenkins要做什么
- 语句分类具体包含Sections, Steps,赋值等几大类
Jenkinsfile 语法一:Declarative Pipeline
Declarative 语句树
Declarative Pipeline - agent
- agent :定义pipeline执行节点
- 必须出现的指令
- 参数
- any:可以在任意agent上执行pipeline
- none:pipeline将不分配全局agent, 每个stage分配自己的agent
- label:指定运行节点的Label
- node:自定义运行节点配置,
-
指定 label
-
指定 customWorkspace
-
- docker:控制目标节点上的docker运行相关内容
Declarative Pipeline - agent 代码举例
pipeline {
agent {
label ‘master’
customWorkspace ‘myWorkspace’
}
}
Declarative Pipeline - stages
- stages:
-
必须出现的指令
-
无参数
-
包含一个或多个stage的序列,Pipeline的大部分工作在此执行;
-
每个Pipeline 代码区间中必须只有一个stages
-
Declarative Pipeline - stage
- stage:
- 必须出现的指令
- 无参数
- 包含在stages中
- Pipeline完成的所有实际工作都需要包含到stage中
- 需要定义stage的名字
Declarative Pipeline - steps
- steps:
- 必须出现的指令
- 无参数
- 具体执行步骤,包含在 stage 代码区间中
Declarative Pipeline - stages, stage, steps 代码举例
stages {
stage('pull source code'){
steps {
echo 'pull source code'
sleep 5
}
}
}
Declarative Pipeline - stages, stage, steps 代码举例
Demo: agent, stages, stage, steps 运行演示