jenkins流水线的pipeline语法的学习
- 流水线支持两种语法:声明式和脚本式流水线。两种语法都支持构建持续交付流水线。且均可用在web ui或者Jenkinsfile中定义流水线,通常认为创建一个Jenkinsfile并将其检入源代码控制仓库是最佳实践。
- 创建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"
}
}
}
以上是 jenkins流水线的pipeline语法的学习 的全部内容, 来源链接: utcz.com/z/515844.html