软件测试 | Script Pipeline

本文介绍了ScriptPipeline的使用,包括其灵活性、Stage、Node和Step的概念,以及如何进行流程控制和异常处理。此外,还展示了如何在Jenkinsfile中配置EmailExtension插件发送邮件通知。
摘要由CSDN通过智能技术生成

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'
 }
 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值