自动化测试中用Jenkins 共享库Shared Library

使用Jenkins Shared Library实现自动化测试
为了减少重复代码,本文介绍了如何利用Jenkins Shared Library作为独立的Groovy脚本集合,通过版本控制进行全局方法和辅助代码的共享。Shared Library包含Steps(可直接在Jenkins pipelines中调用的全局方法)和辅助类、通用函数等,通过在vars目录下定义自定义步骤,在src目录下编写辅助类,实现自动化测试流程的标准化。

为了避免相同的代码不同的Jenkins pipeline中重复写,我们可以使用Jenkins Shared Library。

什么是Shared Library?

Shared library是一个个独立的groovy脚本的集合,这些脚本可以在你的Jenkinsfile中运行。最好是把这个共享库放在git仓库中,这要你可以对它进行版本管理。

在Jenkins中有两种方法去添加 Shared Library:一和是从  Manage Jenkins上添加,一种是在文件夹中添加。第一种添加后是全局可用,第二种添加后是在这个文件夹里的Jenkins job可用。

在一个Shared Library中有些什么呢?

一般来说在你的共享库中有两种公共的代码:

Steps: 在Jenkins中这些相当于是全局方法,是用户自定义的可以在你的 Jenkins pipelines中直接运行的全局方法。

比如, 你想要创建一个标准的 step去创建一个container, 这时,你可以把代码放在文件vars/CreateContainer.groovy 并以下面这种方式实现它

def call() { // 创建一个MySQL的Container},在pipeline中可以直接调用CreateContainer()

其他类型:  helper classes, common function . static constants; 这些代码可以放在src/your/package/name路径, 然后用Groovy 语法实现它:
#!/usr/bin/env groovy// com/cleverbuilder/GlobalVars.groovypackage com.cleverbuilder
class GlobalVars {
static String foo = "bar"}   

然后你就可以在你的Jenkinsfile 中import GlobalVars.foo变量。

代码示例:

@Library("###-PipelineLibraries@master") _

pipeline {

    agent none

    options {

       buildDiscarder(logRotator(numToKeepStr: '5'))

       timestamps()

       }

    stages {      

           stage('P
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值