Pyhton自动化测试持续集成和Jenkins

持续集成

官方术语:

持续集成(Continuous Integration),也就是我们经常说的 CI
持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷。

持续集成流程

在软件的生命周期过程中,从需求,到实现,到测试,到用户手中,是一个持续的过程。

在这个过程当中,不止是开发工作,有很多的环节都可以利用自动化的手段去持续的定期的执行任务,来提升整体的软件质量和效率。

下图为我画的在软件生命周期过程中,开发人员和测试人员和配置管理人员的流程图。

图中红色字体部分均是可以持续定期的去执行。

将上图中的内容综合一下,那么我们可以得到下图的持续集成流程。

Jenkins

一款持续集成工具,可以在 jenkins 当中完成以上持续集成流程中的每一个环节。

jenkins 中有 3 大重要概念:

1、Job(任务/工程)

在 jenkins 平台中,都是以 Job(任务/工程)为单位去完成一件事情的。

在使用jenkins时,都是会在jenkins管理界面当中创建一个job/item。在job/item中来组织任务。

2、plugin(插件)

jenkins 提供平台,集成各种插件来完成一个 Job。想用 jenkins 平来做什么,先找找有没有相应的插件。
比如:windows 命令、Linux 命令的支持、SVN 和 Git 代码获取、邮件发送,测试报告集成等都需要安装相应的插件才能够在 jenkins 当中使用这些功能。

3、workspace(工作空间)

jenkins 是通过文件形式来存储和管理数据的。
所以,在安装jenkins,要指定一个Jenkins_Home目录。所有jenkins相关的数据都存放在此目录下。 
workspace即给jenkins指定一个专门的目录来存储其所有的配置和数据。
jenkins的workspace是根目录 ,其下每个Job都有属于自己的workspace。
每个job的workspace当中用来存放本任务涉及到的数据/文件,以及任务执行完成后生成的数据/文件。 
相当于,给每一个job开辟了一个独立的文件夹。

4、jenkins 管理(Jenkins Manager)

整个 jenkins 的全局配置。
包括权限管理、插件管理、节点管理等。

在 Jenkins 当中要完成一个任务,首先要创建一个 Job/Item。

通过配置 Job/Item,来配置任务的触发条件、任务的代码从哪获取、任务的执行过程涉及哪些步骤、任务执行完成之后要做哪些通知/展示工作。

一个 Job/Item 的配置项如下:

1、基本信息配置(General)

Job 名字、指定当前 Job 的工作空间、指定当前 Job 绑定到哪个执行机上执行等。。。

2、源码管理(Source Code Management)

svn/git 等,需要相应的插件支撑。
配置好源码管理后,在执行 Job 时会自动从相应的源码库里下载代码到当前 Job 的工作空间中。

3、构建触发器(Build Triggers)

触发器:执行当前任务的条件。
常用定时构建:类似 windows/linux 的定时任务。指定当前 Job 执行的时间。

定时任务配置规则如下:

首先,一共有 5 个配置选项(每个选项之间用空格隔开),分别是:

MINUTE(分钟) HOUR(小时) DOM(每月的天数) MONTH(一年的月份) DOW(每周的天数) 

  • MINUTE(分钟): 指一小时内的分钟数。有效值为:0-59
  • HOUR(小时):指一天内的小时数。有效值为:0-23
  • DOM(每月的天数):指一个月内的天数。有效值为:1-31
  • MONTH(一年的月份):指一年当中的月份数。有效值为:1-12
  • DOW(每周的天数):指一周当中的天数。有效值为 0-7。0 和 7 都表示周日。1-6 分别表示周一到周六。

支持以下操作:

  • *****表示匹配所有有效值。
  • M-N 表示一个连续的有效值范围。比如在 DOW 中用 1-5,表示取周一到周五。
  • M-N/X 或者 */X 表示以 X 为步长,取指定连续范围或所有有效值范围内的值。比如在 DOW 中用 1-5/2,表示取周一,周三,周五。
  • A,B,.....Z 表示枚举。比如在 DOW 中用 1,2,6,表示取周一,周二,周六。

示例:

每周一、三、五,每天上午 10 点整,自动触发任务的执行。

定时配置如下:0 10 * * 1,3,5

MINUTE(分钟): 值为 0。

HOUR(小时):值为 10

DOM(每月的天数):值为* 没有指定一个月当中,只有哪几天运行。所以用*匹配所有有效值。

MONTH(一年的月份):值为* 没有指定一年当中,只有哪个月运行。所以用*匹配所有有效值。

DOW(每周的天数):值为 1,3,5。用枚举方式。因为即不是所有值,也不是连续的有效值。

4、构建(Build)

此一步是用来实现所有你想用此 Job 做的事情。
添加构建步骤:按顺序执行构建步骤。

构建步骤的下拉列表选项多少,由 jenkins 中已安装的相关插件决定 。因为许多功能都是由插件来支撑的。

5、构建后行为(Post-build Actions)

此一步主要在任务执行完成之后,要做的事情。
比如要发送邮件、要展示任务执行的结果。
方式与 4 中一样,都是选择相应的插件功能。

构建后操作步骤的下拉列表选项多少,由 jenkins 中已安装的相关插件决定 。因为许多功能都是由插件来支撑的。

任务配置完成之后,点击 立即构建 ,测试任务在执行时是否有错误。

到此这篇关于Pyhton自动化测试持续集成和Jenkins的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们

(0)

相关推荐

  • centos下GitLab+Jenkins持续集成环境搭建(安装jenkins)

    centos下搭建GitLab+Jenkins持续集成环境,供大家参考,具体内容如下 1.安装JDK yum install -y java 2.安装jenkins 添加Jenkins库到yum库,Jenkins将从这里下载安装. wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import https://jenkins-ci.org/redhat/jenkins

  • jenkins插件pipeline集成持续交付管道全面介绍

    目录 前言 Jenkinspipeline是什么? 为什么使用pipeline? enkinsfile支持脚本式ScriptedPipeline和声明式DeclarativePipeline ScriptedPipeline 声明式DeclarativePipeline 使用Jenkinsfile的好处: 关于BlueOcean 前言 前篇博文我们实践了jenkins pipeline的脚本模式,体验到了pipeline的流式构建流程,以及通过bule  ocean更清晰的展示了构建的全过程,下

  • jenkins+docker+nginx+nodejs持续集成部署vue前端项目

    目录 前提: 思路: 步骤: 配置nodejs工具 git代码文件目录如下 Dockerfile的文件内容 nginx.conf主配置文件的内容 最近比较闲,尝试了一下docker部署业务测试环境的前端vue项目,作此记录 这里我的环境是Jenkins+docker+harbor+nginx部署,但是由于此项目以节点形式加入jenkins,构建和部署都在一台,所以没有用到harbor,但是生产环境可能部署和构建不在一台,会需要先推送到harbor,也有详细步骤. 前提: 1安装好了jenkins

  • 构建及部署jenkins pipeline实现持续集成持续交付脚本

    目录 前言 新增的步骤脚本 需要注意的点: 关于执行启动应用脚本 关于健康检查 线程休眠 健康检查方式 遇到的问题及小技巧 小技巧: 问题: 具体的安全策略异常如下: 解决方案: 文末结语 前言 之前的文章中,已经全面介绍过jenkins pipeline的特点及用途,以及实操了一把,将我们的构建产物jar包丢到了目标主机.这篇是接着上篇的实操,实现构建即部署的脚本实现.会在之前的git clone(拉源码),maven build(构建),deploy jar(上传jia包)的基础上,在新增两

  • Jenkins+Docker持续集成的实现

    目录 一.Jenkins介绍 二.安装部署Jenkins 1. 环境信息 2. 新建Jenkins用户 3. Jenkins安装方式 4. Jenkins授权和访问控制 5. Jenkins系统配置 三.Jenkins构建maven风格的job 1. 新建maven任务 2. 构建任务配置 3. 源码管理配置 4. 构建触发器配置 5. Maven构建设置 四.Jenkins邮件通知设置 1. 配置jenkins自带的邮件功能 2. 安装使用插件Email Extension Plugin 五.

  • 持续集成工具之Jenkins安装部署的详细教程

    一.DevOps理念 所谓DevOps是指development和Operations的组合,中文意思就是开发和运维的简写.devops理念主要是针对企业中的研发人员.运维人员和测试人员的工作理念,是他们在应用开发.代码部署和质量测试等整条生命周期中协作和沟通的最佳实践DevOps 强调整个组织的合作以及交付和基础设施变更的自动化.从而实现持续集成.持续部署和持续交付.传统的模式的开发人员只顾开发程序,运维只负责基础环境管理和代码部署及监控等,其并不是为了一个共同的目标而共同实现最终的目的,而D

  • jenkins+python自动化测试持续集成教程

    一.首先我们安装Jenkins,我这里采用的是.msi应用程序,根据提示进行安装(傻瓜式),最后会打开默认的网页地址:http://localhost:8080 如果端口有冲突,可以去Jenkins的安装目录下的这个文件去改端口: 二.进入Jenkins的界面,会提示输入解锁密码,根据界面提示找对对应文件输入密钥即可. 三.选择推荐安装插件即可,两者都可以,看自己需要选择,选择后会进入插件安装页面,会需要一些时间,会因为网络等原因导致一些插件安装失败(国外服务器),不过后面可以再去装. 四.创建

  • Jenkins与SVN持续集成的示例代码

    概述 Jenkins是一个Java语言编写的开源的持续集成工具,它的前身为Hudson,使用它可以进行项目的自动编译.测试与发布,这极大的减轻了团队之间的繁琐重复的工作,从而加快了整个项目的交付进度. 官网下载Jenkins&SVN&eclipse,版本号没要求,建议使用最新稳定版本 登录Jenkins:http://localhost:8080 登录SVN:http://localhost:3343/csvn 默认admin账号登录SVN,登录后,点击版本库->创建版本库 4.打开

  • Jenkins+maven持续集成的实现

    环境 系统:centos 7 tomcat位置:/usr/local/jbreport/apache-tomcat-8.5.57 jdk位置:/usr/local/jbreport/jdk1.8.0_152 安装Jenkins 下载依赖 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo 导入密钥 rpm --import https://pkg.jenkins.io/re

  • Pyhton自动化测试持续集成和Jenkins

    持续集成 官方术语: 持续集成(Continuous Integration),也就是我们经常说的 CI持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷. 持续集成流程 在软件的生命周期过程中,从需求,到实现,到测试,到用户手中,是一个持续的过程. 在这个过程当中,不止是开发工作,有很多的环节都可以利用自动化的手段去持续的定期的执行任务,来提升整体的软件质量和效率. 下图为我画的在软件生命周期过程中,开发人员和测试人员和配置管理人员的流

  • 使用GitLab+Jenkins实现持续集成CI环境的示例代码

    目录 一.持续集成简介 1.GitLab 简介 2.Jenkins 简介 3.GitLab 和 GitHub 的区别 4.持续集成系统的工作流程 二.使用 GitLab + Jenkins 实现持续集成(CI)环境 1.安装 Gitlab 1)登录 Gitlab 2)配置邮件报警 3)创建群组 4)创建项目 5)配置免密克隆 2.安装 Jenkins 1)登录 Jenkins,并安装相关插件 2)配置 Jenkins 实现 GitLab 更新代码 3)在 Jenkins 上创建项目 4)将代码发

  • ASP.NET Core+Docker+Jenkins实现持续集成的完整实例

    前言 在前后端分离开发的项目当中为了避免重复构建发布,我们需要部署一个持续发布环境,而目前的开发环境服务器都是基于 CentOS 的,因此每次在本地发布之后还需要打包,上传,部署,十分繁琐.故这里采用了比较成熟的Jenkins 作为持续部署环境. 方法如下: 1.新建一个ASP.NET Core MVC应用程序: 需要勾选Docker支持 2.将其上传到git: 3.建立Jenkins任务 (1)选择"新建任务",输入任务名称,选择"自由风格项目",然后点击确定:

  • 如何利用Jenkins + TFS为.Net Core实现持续集成/部署详解

    前言 在前后端分离开发的项目当中为了避免重复构建发布,我们需要部署一个持续发布环境,而目前的开发环境服务器都是基于 CentOS 的,因此每次在本地发布之后还需要打包,上传,部署,十分繁琐.故这里采用了比较成熟的Jenkins 作为持续部署环境. 为了方便安装,我们这里使用了 Docker 来进行安装,至于 Docker 安装的步骤这里不在赘述,详情可以参考这一篇博文. 上面安装的是一个较老的版本,这里推荐参考Docker 官方文档来进行安装. 安装好 Docker 之后,拉取 Jenkins

  • 在CentOS7上搭建Jenkins+Maven+Git持续集成环境的方法

    本文以部署 Spring boot + Maven 项目为例,使用码云作为代码托管仓库,在 CentOS 7 上搭建 Jenkins 持续集成环境. 1. 准备工作 1.1 安装 Java 环境 Jenkins 是基于 Java 开发的持续集成工具,需要在 Java 环境下运行.用下面命令查看系统是否已安装 Java: yum list installed | grep jdk 如果没有,使用 yum search 命令查找 openjdk 版本,选择合适的 jdk 进行安装: yum sear

随机推荐