jck28-lucio-jenkinsfile语法参数agent,stage,step

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 运行演示