Jenkins Pipelines+Docker执行RobotFramework自动化测试

2024-03-07 11:40

本文主要是介绍Jenkins Pipelines+Docker执行RobotFramework自动化测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Jenkins Pipelines介绍

Pipeline,简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。

Pipeline是Jenkins2.X的最核心的特性,帮助Jenkins实现从CI到CD与DevOps的转变

Pipeline是一组插件,让Jenkins可以实现持续交付管道的落地和实施。

持续交付管道(CD Pipeline)是将软件从版本控制阶段到交付给用户或客户的完整过程的自动化表现。软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布。

Pipeline提供了一组可扩展的工具,通过Pipeline Domain Specific Language(DSL)syntax可以达到Pipeline as Code(Jenkinsfile存储在项目的源代码库)的目的。

二、Jenkins Pipelines语法

1.常用关键字

关键字描述
pipeline声明式的pipeline脚本
agent执行任务的代理,执行节点,如:any,none, label, node,docker,dockerfile
stages阶段集合,包裹所有的阶段(例如:打包,部署等各个阶段)
stage阶段,被stages包裹,一个stages可以有多个stage,例如:“Build”,“Test”,“Deploy”。
steps步骤,为每个阶段的最小执行单元,被stage包裹
post执行构建后的操作,根据构建结果来执行对应的操作,如:always、changed、failure、success、unstable、aborted
environment声明一个全局变量或者步骤内部的局部变量,如:environment { P1="parameters 1" }
options

提供给脚本更多的选项。

buildDiscarder:指定build history与console的保存数量
用法:options { buildDiscarder(logRotator(numToKeepStr: '1')) }
disableConcurrentBuilds:设置job不能够同时运行
用法:options { disableConcurrentBuilds() }
skipDefaultCheckout:跳过默认设置的代码check out
用法:options { skipDefaultCheckout() }
skipStagesAfterUnstable:一旦构建状态变得UNSTABLE,跳过该阶段
用法:options { skipStagesAfterUnstable() }
checkoutToSubdirectory:在工作空间的子目录进行check out
用法:options { checkoutToSubdirectory('children_path') }
timeout:设置jenkins运行的超时时间,超过超时时间,job会自动被终止
用法:options { timeout(time: 1, unit: 'MINUTES') }
retry :设置retry作用域范围的重试次数
用法:options { retry(3) }
timestamps:为控制台输出增加时间戳
用法:options { timestamps() }

 parameters 提供pipeline运行的参数,如:parameters { string(name: 'P1', defaultValue: 'it is p1', description: 'it is p1') booleanParam(name: 'P2', defaultValue: true, description: 'it is p2') }
 triggers 触发器是自动化运行pipeline的方法,例如cron,pollSCM,或者upstream
 tools 用于引用配置好的工具,

tools {
maven 'apache-maven-3.0.1'
}

 input 暂停pipeline,提示输入内容

三、创建一个Jenkins Pipelines

1.新建pipelines

Jenkins首页->新建任务->输入一个任务名->选择流水线->点击确认

174e5450c39ae51533bcd48c8cf502e4.png

2.配置General、构建触发器

这两部分的配置请参照之前的一篇文章,本章主要是讲解pipelines,所以不在重复描述,链接如下:

 https://www.cnblogs.com/airb/p/13229354.html

3.配置pipelines

72d0f050e2ba5f4eba8397bfc901f36e.png

pipelines脚本:

pipeline {agent anyenvironment{MAVEN_HOME = "/var/lib/jenkins/workspace/ADCS_API_QAT_BVT"    //主目录 dockerfile_path = '/var/lib/jenkins/workspace/ADCS_API_QAT_BVT/环境搭建/Dockerfile'   //Dockerfile文件目录 }stages {stage('Checkout') {steps {echo 'Git拉取代码'git credentialsId: 'Git密码', url: 'Git地址'}}stage('Docker') {steps {echo 'Docker环境构建'sh 'docker build -t python:3.7.9 -f ${dockerfile_path} .'    //构建Docker环境}}stage('Test') {steps {echo '执行测试用例'sh 'docker run -i -v ${MAVEN_HOME}:/mnt python:3.7.9 robot --include BVT -d ${MAVEN_HOME}/report AGGS_API'}}}post { always { echo '清空文件'deleteDir()         //清空所有文件}}
}

4.阶段视图

任务配置完成后点击立即构建,可查看pipelines阶段视图

0d315bc96de6d633a50794f28e6f4760.png

5.查看Pipelines运行日志

构建完成后->点击左下角Console Output

275b59d1bc23f48a4cf4df7951959ab6.png

这篇关于Jenkins Pipelines+Docker执行RobotFramework自动化测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783388

相关文章

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

MySQL中SQL的执行顺序详解

《MySQL中SQL的执行顺序详解》:本文主要介绍MySQL中SQL的执行顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql中SQL的执行顺序SQL执行顺序MySQL的执行顺序SELECT语句定义SELECT语句执行顺序总结MySQL中SQL的执行顺序

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

Docker安装MySQL镜像的详细步骤(适合新手小白)

《Docker安装MySQL镜像的详细步骤(适合新手小白)》本文详细介绍了如何在Ubuntu环境下使用Docker安装MySQL5.7版本,包括从官网拉取镜像、配置MySQL容器、设置权限及内网部署,... 目录前言安装1.访问docker镜像仓库官网2.找到对应的版本,复制右侧的命令即可3.查看镜像4.启