Jenkins Pipeline Syntax

Pipeline和Stage不一定运行在一个OS内;一个Stage一定运行在一个OS内。
Pipeline 分为Declarative and Scripted Pipeline ;
Step是Pipeline最基础的部分,Step告诉Jenkins干什么,在Declarative and Scripted Pipeline 中充当基础构建代码块。

Declarative Pipeline

Declarative Pipeline是Jenkins Pipeline最近新增的特性,在Pipeline之上提供一种一种更简单的语法;
所有有效的代码必须在pipeline代码块中:

pipeline {
    /* insert Declarative Pipeline here */
}

Jenkinsfile Structure

四个Section,agent/post/stages/steps
agent:给Jenkins提供足够的信息,以选择一个Pipeline执行的地方;
post:可以定义在pipeline level或者stage level,可以在其中定义一个或者多个与step中一样的内容;
stages:可以定义多个stage指令,多个stage之间是离散的,每个stage可以有自己的agent定义,多个stage可能执行在不同的os里;
steps:Pipeline Steps reference列出了所有内置的和在Jenkins插件中心的插件所提供的step指令;除了这些指令,还有一个script指令,可以提供在其中编写groovy脚本的能力;

Directives

Jenkins及其插件为我们提供了很多的指令,大大增强了Pipeline的功能,下面介绍的这些指令与我们通过Jenkins UI新建任务时,所填写的扩展点一致,包括environment/options/parameters等等。

  1. environment:可以定义在pipeline或者stage中,提供一个或者多个运行时环境变量;credentials() 的用法;
  2. options:pipeline or stage
  3. parameters:jenkins 触发 pipeline时,会将定义的参数传给pipeline;目前支持string和boolean两种类型的参数;
  4. triggers:cron/pollSCM/upstream
  5. stage:
  6. tools:目前支持maven/jdk/gradle,自动安全到agent并加入到PATH中
  7. input:使用Pipeline: Input Step,接收用户的输入交互
  8. when:stage level,整个stage是否运行;可以判定的因素包括branch/environment/expression;not/allOf/anyOf的互相嵌套组合上面的判定因素可以实现复杂的条件判定;beforeAgent可以选择是进入agent之前还是之后执行when里面的判定逻辑;
  9. Parallel:https://jenkins.io/doc/book/pipeline/syntax/#evaluating-code-when-code-before-entering-the-code-stage-code-s-code-agent-code
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈振阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值