写点什么

软件测试 | Script Pipeline

  • 2023-03-05
    北京
  • 本文字数:1241 字

    阅读完需:约 4 分钟

Declared Pipeline 的入门学习难度相对不高,这种类似我们在做自动化测试时所接触的关键字驱动模 式,只要理解其定义好的关键词,按要求填充数据即可。

虽然这种方式入门容易,但灵活性欠缺。相比之下 script Pipeline 的好处就是灵活,好封装,易于大规 模使用,但需要有一定的编程功底。

Script Pipeline 语句树

一个 Script Pipeline 可以划分成若干个 Stage,每个 Stage 代表一组操作,例如 Build,Test;Node 代 表 Jenkins 节点,比如 Master, Slave 这样的节点;Step 是最基本的操作单元,在对应 Node 节点上执行 的动作语句直接写在 node {} 中。

Script Pipleline 语句树

流程控制语句

如同传统的脚本语言一样,Script Pipeline 是从上至下顺序执行,可以使用 Groovy 表达式进行流程控 制,如 if/else 语句通过逻辑条件判断来对流程进行控制:

node { stage('Example') { if (env.BRANCH_NAME == 'master') { echo 'I only execute on the master branch' } else { echo 'I execute elsewhere' } }}
复制代码

异常处理语句

Script Pipeline 脚本流程控制的另一种方式是异常处理机制。当任何一个步骤因各种原因而出现异常时, 都必须在代码中使用 try/catch/finally 语句块进行异常捕获,并通过预先设定代码进行处理,保证脚本能 够顺利执行:

stage('Error Handling') { node{ echo "This is test demo for the error handling" try { echo "This is in the try block." sh 'exit 1' }catch (exc) { echo "Something failed, I'm in the catch block." }finally { echo "Finally, I'm in the finally block." } }}
复制代码

Jenkinsfile 中调用 plugin 功能

在 Jenkinsfile 中除了可以使用常规的逻辑、流程控制,还可以调用 Jenkins 的插件功能。下面用如下实 例进行说明。

Email Extension 插件

Email Extension 是 Jenkins 中的一个外部插件,用来发送邮件,从 Jenkins 的 Plugin Manager 中进行安 装。在 Pipeline 中通过代码调用可以触发该插件的运行,实现发送邮件的功能。

基础配置

在安装好 Email Extension 插件之后,首先需要选择一个准备用来发送 Jenkins 通知邮件的邮箱,发件邮 箱的具体参数要提前知晓(通常参数可以从邮箱的配置参数信息页面上查到);之后要在 Manage Jenkins -> Configure System 中将对应参数填写该插件的对应配置项中,必须配置的参数如下:

  • SMTP server:smtp 服务地址

  • SMTP port:smtp 端口号

  • Use SMTP Authentication:启用 smtp 安全校验

  • User Name:发件人用户名

  • Password:发件人密码

  • Default Recipients:默认收件人

其他的参数可以根据自己的需要进行配置,Email Extension 配置参考截图如下:

Pipeline 代码

pipeline{ agent { label 'master' } stages{ stage('发送邮件测试') { steps{ echo 'Test Email' } } } post { always { emailext body: '$DEFAULT_CONTENT', recipientProviders: [[$class:'RequesterRecipientProvider']], subject: '$DEFAULT_SUBJECT' } }}
复制代码

搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核

用户头像

社区:ceshiren.com 微信:ceshiren2023 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | Script Pipeline_测试_测吧(北京)科技有限公司_InfoQ写作社区