前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins 2.X Script Pipeline语法基础

Jenkins 2.X Script Pipeline语法基础

作者头像
苦叶子
发布2019-11-21 11:18:11
1.7K0
发布2019-11-21 11:18:11
举报
文章被收录于专栏:开源优测
在Jenkins 2.X的核心Pipeline,有两种写法:
  1. Declarative Pipeline
  2. Script Pipeline

对于很多初学者来讲,可能接触的都是Declarative Pipeline,即声明式pipeline语法,这种类似我们在做自动化测试时所接触的关键字驱动模式,只要理解其定义好的关键词,按要求填充数据即可。

这种方式最大的优势在于易于入门,但灵活性欠缺。

笔者在企业实践中中,采用的是Script pipeline,即脚本式pipeline语法,好处就是灵活,好封装,易于大规模使用,但需要有一定的编程功底。

不过笔者还是推荐大家掌握script pipeline,为什么呢?

基于代码模式可以让你在不同业务、不同行业、不同规模间进行无缝落地。

下面开始介绍一些script pipeline的基础,方便大家后续逐步自学入门和落地实战。

在脚本化流水线语法中, 一个或多个 node 块在整个流水线中执行核心工作。 虽然这不是脚本化流水线语法的强制性要求, 但它限制了你的流水线的在`node`块内的工作做两件事:

  1. 通过在Jenkins队列中添加一个项来调度块中包含的步骤。 节点上的执行器一空闲, 该步骤就会运行。
  2. 创建一个工作区(特定为特定流水间建立的目录),其中工作可以在从源代码控制检出的文件上完成。 Caution: 根据你的 Jenkins 配置,在一系列的空闲后,一些工作区可能不会自动清理 。

下面我们看一个标准的script pipe模板实例:

1. 在任何可用的代理上,执行流水线或它的任何阶段

2.定义 "Build" 阶段。 stage 块 在脚本化流水线语法中是可选的。然而, 在脚本化流水线中实现 stage 块 ,可以清楚的显示Jenkins UI中的每个 stage 的任务子集。

3. 执行与 "Build" 阶段相关的步骤。

4. 定义 "Test" 阶段。

5. 执行与 "Test" 阶段相关的步骤。

6. 定义 "Deploy" 阶段。

7. 执行与 "Deploy" 阶段相关的步骤。

下面我们在看一个标准是示例:

3 - stage 是一个描述 stage of this Pipeline的语法块。

5 - sh 是一个执行给定的shell命令的流水线 step

6 - junit 是junit单元测试聚合测试报告的流水线 step

7 - node 是脚本化流水线的一种特定语法,它指示 Jenkins 在任何可用的代理/节点上执行流水线 (和包含在其中的任何阶段)这实际上等效于 声明式流水线特定语法的`agent`。

要注意的是,在实际应用中应该根据业务需要对stage进行合适的重定义,参见上文,笔者实战中对stage的不同定义Jenkins Pipeline script语法自动化测试模板及效果

时间有限,每次写近千字,后续我们在持续分享这个系列

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源优测 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档