Jenkins提供了两种开发pipeline代码的方法,脚本化的和表述性的。
脚本化pipeline也就是我们传说中的传统pipeline,支持Groovy语法。
表述性pipeline提供了更简单的更友好的语法,提供了更多表述性的语法,用户不一定非要去学习和写Groovy。
Jenkins pipeline plugin version 2.5及以上版本开始支持表述性pipeline。
本文,将介绍在表述性pipeline中所有指令。
表述性pipeline的语法
一个合法的表述性pipeline必须定义一个pipeline语句,并且包含以下所需要的部分:
-
agent
-
stages
-
stage
-
steps
以及如下可选用的指令:
-
environment(stage/pipeline级别)
-
input(stage级)
-
options(stage/pipeline级别)
-
parallel
-
parameters
-
post
-
script
-
tools
-
triggers
-
when
指令详解
让我们来看一下列举指令使用的例子。
-
agent
pipeline { agent any --- }
-
stages
pipeline { agent any stages { ... } }
-
stage
pipeline { agent any stages { stage ('build') { ... } stage ('test: integration-&-quality') { ... } stage ('test: functional') { ... } stage ('test: load-&-security') { ... } stage ('approval') { ... } stage ('deploy:prod') { ... } } }
-
steps
steps必须用在stage级别