• 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

    ![](https://img2020.cnblogs.com/blog/1301684/202012/1301684-20201215135723432-488227117.png

    点击 【Add webhook】,增加成功后webhooks下会出现新增的钩子

    (2)测试钩子是否可用


    出现 下面截图,及说明配置完成

    (3)接下来验证一下,在gitlab 上提交代码,切换到jenkins 看是否开始构建,并在jenkins执行机下查看是否已有工程代码

    二、指定构建执行机
    一中的构建如果不指定执行机,会将代码下载至jenkins部署机器上的workspace 空间下,我们不可能将所有工程都在这一台机器上运行,所以要配置各个项目单独的机器

    1、进入【系统管理】-【节点管理】,新增一个节点

    节点配置如下


    时钟同步成功,标识节点已经连接

    2、构建任务中配置运行节点,进入刚才的构建工程中

    3、测试节点配置是够成功,执行构建

    • 如果需要使用执行机上的java 环境,需要配置执行机上的环境路径

    • 若不能生效,检查是否全局配置/工具配置中是否选择了自动升级java(若配置了,关掉即可)

    三、关于替换测试环境的配置文件操作
    两种方式

    1、在执行机上面存放一份配置文件,每次下载之后把新下载的删掉,在通过命令复制过去(不推荐,缺点是每次改的时候需要去执行机上改)

    2、使用jenkins 的配置文件功能

    在jenkins 下安装插件

    (Config File Provider )

    下载好了在jenkins 【系统管理】下查找

    打开之后选择新增配置文件

    选择配置文件的类型,若没有的话,其实可以选自定义文件,点击提交


    填写配置文件的名字(这个时候的名字可以跟实际应用时的配置文件名不一致,jenkins调用配置文件覆盖源代码的时候,还会进行更名),配置文件的内容,提交保存

    保存成功后,在项目构建配置里构建环境那一栏,勾选provide Configuration files

    如此配置保存以后,构建时jenkins就会帮你替换源代码中的配置文件了,可以在构建日志中看到该步骤,需要修改配置文件的时候,也是在jenkins中直接编辑就可以了

  • 相关阅读:
    高并发系统如何设计
    PHP的垃圾回收机制(开启垃圾回收机制后的优缺点是什么)
    移动端网站如何开发(电脑端网站到手机端网站我们需要在html代码中添加哪个meta标签)
    家庭洗车APP --- Androidclient开展 之 网络框架包介绍(一)
    一天JavaScript示例-判定web页面的区域
    左右margin top问题百分比值
    Ubuntu14.04设备JDK
    三层架构,四大天王——删
    MEMO:UIButton 中的图片和标题 左对齐
    HDU 3874 离线段树
  • 原文地址:https://www.cnblogs.com/xiaolangjianke/p/14138131.html
Copyright © 2020-2023  润新知