jenkins流水线的pipeline语法的学习

百般思念 提交于 2020-11-21 09:30:08
  1. 流水线支持两种语法:声明式和脚本式流水线。两种语法都支持构建持续交付流水线。且均可用在web ui或者Jenkinsfile中定义流水线,通常认为创建一个Jenkinsfile并将其检入源代码控制仓库是最佳实践。
  2. 创建jenkinsfile jenkinsfile是一个文本文件,它包含了Jenkins流水线的定义并被检入源代码控制仓库。下面的流水线实现了基本的三阶段持续交付流水线。 jenkinsfile(declarative pipeline)
pipeline{
    agent any
    stages{
        stage('Build'){
            steps{
                echo 'building...'
            }
        }
        stage('Test'){
            steps{
                echo 'Test...'
            }
        }
        stage('Deploy'){
            steps{
                echo 'Deploy...'
            }
        }
    }
}

其中aggent指令是必须的,带白哦jenkins为流水线分配一个执行器和工作区。没有agent指令,声明式流水线不仅不生效,且不能完成任何工作。 一个合法的声明式流水线还需要stages指令和steps指令,因为他们来指示jenkins要执行什么,在哪个阶段执行。

pipeline语法:

post部分定义一个或多个steps,post支持以下post-condition块中的其中之一:always,changed,failure,success,unstable,aborted.

  • always: 无论流水线或阶段的完成状态如何,都允许在post部分运行该步骤。
  • changed: 只有当前流水线或阶段的完成状态与它之前的运行不同时,才允许在post部分运行该步骤。
  • failure:只有当前流水线或阶段的完成状态为failure,才允许post部分运行该步骤,通常web ui是红色。
  • success: 只有当前流水线或阶段的完成状态为success,才允许post部分运行该步骤,通常web ui是蓝色或绿色。
  • unstable: 只有当前流水线或阶段的完成状态是unstable,才允许在post部分运行该步骤,通常由于测试失败,代码违规等造成的,通常web ui是黄色的。
  • aborted只有当前流水线或阶段的完成状态是aborted,才允许在post部分运行该步骤,通常流水线被手动的aborted,通常web ui是灰色的。 example:
pipeline{
    agent any
    stages{
        stage('Example'){
            steps{
                echo "hello world"
            }
        }
    }
    post{
        always{
            echo "i always say   hi"
        }
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!