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.常用关键字
Jenkins Pipelines+Docker执行RobotFramework自动化测试
Jenkins Pipelines+Docker执行RobotFramework自动化测试
Jenkins Pipelines+Docker执行RobotFramework自动化测试

三、创建一个Jenkins Pipelines

1.新建pipelines

Jenkins首页->新建任务->输入一个任务名->选择流水线->点击确认Jenkins Pipelines+Docker执行RobotFramework自动化测试
2.配置General、构建触发器

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

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

3.配置pipelines

Jenkins Pipelines+Docker执行RobotFramework自动化测试
pipelines脚本:

pipeline {
    agent any
    environment{
        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阶段视图
Jenkins Pipelines+Docker执行RobotFramework自动化测试
5.查看Pipelines运行日志

构建完成后->点击左下角Console Output
Jenkins Pipelines+Docker执行RobotFramework自动化测试
更多软件测试资源分享微信公众号:【程序员一凡】
软件测试技术交流群:1079636098

一个用心码了这么多文字的人,往往渴望得到大家的认可。如果你觉得这篇回答对你有帮助,双击屏幕,给我点个赞呀!

上一篇:MySQL ------ 全文本搜索( match和Against),以及查询扩展和 布尔方式(十七)


下一篇:Python爬虫练习:爬取赶集网数据信息