gitlab+jenkins 持续部署自动化测试
背景:为了减少测试部署时间和减少不必要的重复工作,采用持续集成的方式进行部署,当gitlab的release (测试)分支有代码变动时,自动拉取代码部署测试环境,并进行接口回归测试
优点:部署自动化,接口执行自动化,报告生成自动化、配置文件平台化
实验产品:***
环境准备:
jenkins \ gitlab \ 质量可视化平台 \ yapi&接口测试执行脚本
思路梳理
设置 执行机 – 节点管理
分支提交代码,自动触发拉取操作 webhook — jenkins插件(gitlab hook plugin)
替换配置文件 — jenkins 插件(Config File Provider )
服务启动 -- 不可普适,需要脚本化定制编写
自动化接口测试 -- shell执行脚本即可
一、实现git提交自动拉取代码
1、jenkins 配置项
(1)新建一个item,自由风格的软件项目
(2)在源码管理下面,设置如下:
(3)构建触发器配置,需要勾选“Build when a change is pushed to GitLab. GitLab webhook URL: http://jenkins.asoco.com.cn/project/test”(tip:只有安装了git hook plugin 插件才有这个选项,不安装是没有这个选项的)
(4)在“构建”中配置如下:
至此 jenkins 配置已全部完成,下面开始 对gitlab 进行配置
2、gitlab配置webhook钩子
-----插入------
gitlab设置中文的方式
-----插入结束-----
(1)在【设置】下选择【集成】,URL 中输入1-(3)中的webhook URL
测试钩子是否可用
出现 下面截图,及说明配置完成
(3)接下来验证一下,在gitlab 上提交代码,切换到jenkins 看是否开始构建,并在jenkins执行机下查看是否已有工程代码
二、指定构建执行机
一中的构建如果不指定执行机,会将代码下载至jenkins部署机器上的workspace 空间下,我们不可能将所有工程都在这一台机器上运行,所以要配置各个项目单独的机器
1、进入【系统管理】-【节点管理】,新增一个节点
节点配置如下
时钟同步成功,标识节点已经连接
2、构建任务中配置运行节点,进入刚才的构建工程中
3、测试节点配置是够成功,执行构建
三、关于替换测试环境的配置文件操作
两种方式
1、在执行机上面存放一份配置文件,每次下载之后把新下载的删掉,在通过命令复制过去(不推荐,缺点是每次改的时候需要去执行机上改)
2、使用jenkins 的配置文件功能
在jenkins 下安装插件
(Config File Provider )
下载好了在jenkins 【系统管理】下查找
打开之后选择新增配置文件
选择配置文件的类型,若没有的话,其实可以选自定义文件,点击提交
填写配置文件的名字(这个时候的名字可以跟实际应用时的配置文件名不一致,jenkins调用配置文件覆盖源代码的时候,还会进行更名),配置文件的内容,提交保存
保存成功后,在项目构建配置里构建环境那一栏,勾选provide Configuration files
如此配置保存以后,构建时jenkins就会帮你替换源代码中的配置文件了,可以在构建日志中看到该步骤,需要修改配置文件的时候,也是在jenkins中直接编辑就可以了
gitlab+jenkins 持续部署自动化测试的更多相关文章
- CentOS 7 Gitlab+Jenkins持续集成+自动化部署
基于上次的环境<部署Gitlab+Jenkins持续集成环境> 来实现自动化部署 系统管理–>插件管理–>安装以下插件: Credentials Plugin(默认已经安装) ...
- Jenkins持续部署
Jenkins持续部署 Jenkins提供很好的连续部署和交付的支持.看一下部署任何软件开发的流程,将如下图所示. 连续部署的主要部分,是确保其上面所示的整个过程是自动化的.Jenkins实现所有这些 ...
- Jekens 配置多项目SCM GitLab+Jenkins持续集成环境
参考: 搭建GitLab+Jenkins持续集成环境图文教程 https://blog.csdn.net/ruangong1203/article/details/73065410 Jenkins中配 ...
- Jenkins持续部署-Windows环境持续部署探究1
目录 Jenkins持续部署-Windows环境持续部署探究1 目录 前言 目的 方案流程 技术实现 PowerShell FTP上传插件 环境变量插件 脚本执行 远程调用 升级服务 启动服务 总结 ...
- Jenkins持续部署-自动生成版本号
目录 Jenkins持续部署-自动生成版本号 目录 前言 目的 详细流程 获取SVN Reversion 获取需求号 设置编译前读取版本号 总结 参考文献 Jenkins持续部署-自动生成版本号 目录 ...
- Jenkins持续部署-创建差量更新包
目录 Jenkins持续部署-创建差量更新包 目录 前言 目的 详细流程 生成版本号 获取版本号 创建文件更新清单 压缩 获取上个版本的包 创建差量更新包 读取服务器Json配置 远程创建文件夹目录 ...
- 关于gitlab+jenkins自动部署代码的实现
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...
- CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境
持续集成概述及运行流程 : 持续集成概述 :持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中 ,可以频繁的将代码部署集成到主干,并进行自动化测试 开发→代 ...
- Robotium接入到Jenkins持续集成自动化测试
6.3 将测试用例接入到Jenkins 由于我是自己学习的手机自动化测试,没有实际投入到工作中使用,jenkins的接入也没有具体操作,现摘抄一下网页:http://www.tuicool.com/a ...
随机推荐
- Win10 安装MySQL 5.7.32(解压版)
Win10 安装MySQL 5.7.32(解压版) MySQL 5.7.32 下载 官网下载(速度慢,不推荐使用):https://dev.mysql.com/downloads/mysql/ 清华镜 ...
- 面试必看!靠着这份字节和腾讯的面经,我成功拿下了offer!
准备 敲定了方向和目标后就开始系统准备,主要分为以下几个方面来准备. 算法题 事先已经看过别人的社招面经知道头条每轮技术面都有算法题,而这一块平时练习的比较少,校招时刷的题也忘记了很多.因此系统复习的 ...
- Elements-of-Python01_Input/Output
(内容包括输入input,输出print,注释comment,预测类型转换eval,命名与赋值Name & Bestow) 输入Input 和 输出Print Python中利用input() ...
- Guitar Pro教程之理解记谱法
前面的章节我们讲解了很多关于Guitar Pro'的功能使用,今天小编还是采用图文结合的方式为大家讲解它的理解记谱法,对于很多新人来说,在我们看谱之前,我们肯定要先熟悉他的一些功能如何使用以及一些关于 ...
- Camtasia的标记使用方法
相信大家都想过学习或者尝试过编辑视频,可能曾经也下载使用过微课录制软件Camtasia(win),或许现在也还在使用.小编现在也经常使用Camtasia录屏编辑视频,在编辑的过程中,总是会不小心在轨道 ...
- Folx好用的下载功能介绍
Folx作为一款使用便捷的Mac系统下载软件,为用户提供了网页链接捕获.种子文件下载.智能标签等功能,而其Folx专业版更为用户提供了智能控制速度.计划下载任务.种子文件搜索下载等更加智能化的功能. ...
- H5系列之新input
虽说H5 新填了几个很方便的input 类型,但是吧,想法是美好的,但是现实很残酷,兼容性不太好.基本只有google浏览器能用.但是既然出了,那么就要了解他,知道有这么一个东西就好. input类型 ...
- 看完这篇还不会 Elasticsearch 搜索,那我就哭了!
本文主要介绍 ElasticSearch 搜索相关的知识,首先会介绍下 URI Search 和 Request Body Search,同时也会学习什么是搜索的相关性,如何衡量相关性. Search ...
- SpringBoot---WebMvcConfigurer详解
1. 简介 2. WebMvcConfigurer接口 2.1 addInterceptors:拦截器 2.2 addViewControllers:页面跳转 2.3 addResourceHandl ...
- native关键字是干什么的?
目录 1.怎么调用到native方法的呢? 2. java调用自定义native方法步骤 3.使用native的缺点 今天一不小心跟进Object的源码中,发现一个native关键字,一脸蒙蔽,怎么我 ...