Jenkins之声明式pipeline基础_编程语言

介绍

Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性。也是最适合持续交付的feature。

简单的来说,就是把Jenkins1.0版本中,Project中的相关配置信息,如SVN/Git的配置,Parameter的配置等都变成Code,即Pipeline as Code。

随着pipeline交付流水线在团队中的推广,使用pipeline脚本的job也迅速增加。

优势

1. 通过写代码的形式配置Project,且Jenkins中内置了常用的steps。

2. 实现了构建步骤代码化、构建过程视图化。

基础

Pipeline最基本的部分是“step”。基本上,step告诉Jenkins 要做什么,并且作为Declarative Pipeline和Scripted Pipeline语法的基本构建块。

Pipeline支持两种语法:Declarative Pipeline(在Pipeline 2.5中引入,即声明式pipeline)和Scripted Pipeline(即脚本式pipeline),两者都支持建立连续输送的Pipeline。

选择Declarative Pipeline还是Scripted Pipeline

最开始的Pipeline plugin,支持的只有一种脚本类型,就是Scripted Pipeline;

Declarative Pipeline为Pipeline plugin在2.5版本之后新增的一种脚本类型,与原先的Scripted Pipeline一样,都可以用来编写脚本。

本文主要介绍Declarative Pipeline(声明式pipeline),虽然笔者推荐采用Scirpted Pipeline,但也依旧推荐新手学习、了解、掌握Declarative Pipeline,以便初步理解和掌握Pipeline。

Declarative Pipeline是Jenkins Pipeline 的一个相对较新的补充, 它在Pipeline子系统之上提出了一种更为简化和有意义的语法。

所有有效的Declarative Pipeline必须包含在一个pipeline块内,例如:

pipeline { /* insert Declarative Pipeline here */ }

声明式Pipeline标准模板如下

Jenkins之声明式pipeline基础_javascript_02

区别

在声明式流水线中有效的基本语句和表达式遵循与 Groovy的语法同样的规则, 有以下例外:

  • 流水线顶层必须是一个 block, 特别地: pipeline { }
  • 没有分号作为语句分隔符,,每条语句都必须在自己的行上。
  • 块只能由 节段, 指令, 步骤, 或赋值语句组成。*属性引用语句被视为无参方法调用。例如, input被视为 input()

对于声明式pipeline语法更多信息,可以参见官方文档:

https://jenkins.io/zh/doc/book/pipeline/syntax/#声明式流水线

未完待续...

欢迎在文章底部留言、讨论、交流

积微者,速成也    --  荀子《强国篇》  

期望苦叶子的每次分享,都能让你积微,速成!!!

开源优测,离不开你的广而告之、点赞、分享