20.接口自动化-Git

1、Git和SVN–版本控制系统

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
远程服务出问题后,可以先提交commit到本地仓库,之后再提交push远程仓库
git有clone
在这里插入图片描述

Git环境组成部分

常用Git代码仓库服务-远程仓库

GitHub-服务器在国外,慢
GitLab-开源,可以在自己服务器搭建(代码私有性),吃内存
Gitee码云-国内

本机Git操作环境

git环境

Git工作原理(流程)

在这里插入图片描述

fetch和clone的区别

git pull:从远程仓库获取最新代码到本地仓库,直接自动合并merage到本地仓库
一般不用,除非知道远程仓库没有改动
git fetch:从远程仓库获取最新代码到本地仓库,不会自动合并merage到本地仓库,需要手动合并
所以稳妥起见,一般用fetch+merage

Git容器化技术搭建

  • 在容器外usr中创建挂载目录(或者其他目录),/usr目录下新建gitlab文件夹,gitlab文件夹下创建config,logs,data文件夹
  • 启动docker安装搭建gitlab
cd /usr
mkdir gitlab
cd gitlab
mkdir config logs data
# 443https访问 80:http访问 时间同步 /etc/localtime:/etc/localtime:ro
daoker run -di -p 443:443 -p 9000:80 -p 8022:22 --hostname 虚拟机ip --name mygitlab --restart always 
-v /usr/gitlab/config:/etc/gitlab 
-v /usr/gitlab/logs:/var/log/gitlab
-v /usr/gitlab/data:/var/opt/gitlab 
-v /etc/localtime:/etc/localtime:ro --privileged=true
gitlab/gitlab-ce:13.9.2-ce.0#查看各个容器的性能
docker stats

访问:http://虚拟机ip:9000

  • 启动后设置密码\账号
    -

  • 新建工程

  • 本机安装git环境-官网下载git下载
    在这里插入图片描述
    在这里插入图片描述

  • 将远程仓库内容克隆到本地
    右击鼠标-点击【 Git Bash Here】打开命令行

git config --global user.name "zz"
git config --global user.email "123@qq.com"
git clone http://虚拟机ip:9001/root/工程名称.git
输入刚设置的密码和账号
  • 本地修改代码后提交代码到远程仓库
cd myx #(工程名称,这里设位myx)
touch a.txt#随便建一个文件
git status #查看状态-是否被提交
git add a.txt
git status
git commit -m "init a.txt描述" a.txt
git push  origin master

Git-GitLab-Jenkins结合

在这里插入图片描述

在pycharm配置git

Settings-Version control-Git
在这里插入图片描述
pycharm工具栏-VCS-Get from Version Control
在这里插入图片描述
将项目代码复制到刚拉下来的仓库中,然后单独打开该项目

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

实现提交代码后触发自动化测试

(1)打开gitlab

在这里插入图片描述
选择【Outbound requests】
在这里插入图片描述
在这里插入图片描述

(2)Jenkins配置Git

jenkins安装git插件–直接安装

在这里插入图片描述
在工程中进行设置
在这里插入图片描述
在这里插入图片描述
还可以指定分支
点击Gredentials【添加】
在这里插入图片描述

生成路径和token–gitlab配置时需要用到
在这里插入图片描述

向下滑动–点击【高级】
在这里插入图片描述
在这里插入图片描述

(3)选择需要的远程仓库

点击Settings-选择Webhooks-配置jenkins信息-(工程路径和token权限)
选择【push events】,只要提交就会触发事件
在这里插入图片描述

保存配置并测试
在这里插入图片描述
如果配置成功,

  • 则jenkins会新增一条构建记录
  • jenkins挂载目录中会拉取到代码
    在这里插入图片描述

报告存在问题:

在这里插入图片描述
在项目中新建配置文件enviroment.properties并传到gitlab:

Browser=Firefox
Browser.Version=77
Stand=szzz_delivery
ApiUrl=http://121/41/14/39:8082/shop/index.html#/login
python.Version=3.6.5

在这里插入图片描述

在jenkins中shell脚本添加copy指令,将配置文件复制到allure-results中

cd Delivery_System_0908/testCase
pytest -s --allureddir=${WORKSPACE}/allure-results
cp ${WORKSPACE}/Delivery_System_0908/enviroment.properties ${WORKSPACE}/allure-results/enviroment.properties
exit 0

在这里插入图片描述
[说明]
在这里插入图片描述
【发现构建时间和代码提交时间不一致】

#更新同步服务器宿主机时间--
ntpdate ntp1.aliyun.com
# 容器时间
docker exec -it 容器id /bin/bash
#查看时间,如果发现不正确
date
#退出容器
exit
#更新 将时间同步到容器中
docker cp /usr/share/zoneinfo/Asia/Shanghai 容器id:/etc/localtime
#重启容器
docker restart 容器id
还不行的话就在jenkins中修改时区

在这里插入图片描述

也可以在Jenkins中设置定时触发,以上是webhook触发

在这里插入图片描述

WebHooks–勾子

目标:希望在代码被push,jenkins会自动构建
是一个url,携带特定参数,一种web回调或者http的push API,是向APP或其他应用提供实时信息的方式。
Webhook在数据产生时立即发送数据,也就是能实时收到数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/11046.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

根据docker部署nginx并且实现https

目录 一、Docker中启用HTTPS有几个重要的原因 二、https介绍 三、https过程 四、安装docker-20.10.18 五、如何获取证书 通过阿里云获取证书 六、docker部署nginx并且实现https 6.1准备证书 6.2准备nginx.conf 和 index.html文件 6.3生成容器 6.4浏览器验证证书 一、…

ssm120基于SSM框架的金鱼销售平台的开发和实现+jsp

金鱼销售平台 摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于金鱼销售平台当然也不能排除在外,随着网络技术的不断成熟,带动了金鱼销售平台,它彻底改…

栈与队列的实现

前言 本次博客将要实现一下栈和队列,好吧 他们两个既可以使用动态数组也可以使用链表来实现 本次会有详细的讲解 栈的实现 栈的基础知识 什么是栈呢? 栈的性质是后进先出 来画个图来理解 当然可不可以出一个进一个呢,当然可以了 比如…

Vue路由开启步骤

1.在控制台输入命令 //控制台下载安装npm add vue-router3.6.5 2.在main.js下导入并注册组件 import Vue from vue import App from ./App.vue//控制台下载安装npm add vue-router3.6.5 //导入 import VueRouter from "vue-router";//注册 Vue.use(VueRouter) con…

IntelliJ的Maven编译返回找不到有效证书

文章目录 小结问题及解决找不到有效证书找不到org.springframework.stereotype.Service问题IntelliJ: Cannot resolve symbol springframework 参考 小结 将IntelliJ工程拷贝到新的机器中,返回Maven编译返回找不到有效证书的问题,进行了解决。 问题及解…

实现stract(字符串拼接)函数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;char a[80], b[80];int i, n1, n2;//填充字符串&#xff1b;printf("请输入字符串a的内…

Python图形界面(GUI)Tkinter笔记(一):根窗口的创建

Tkinter库是Python的内置关于图形界面编程&#xff08;GUI全称为Graphical User Interface&#xff0c;中文意思为“图形用户界面”&#xff09;的一个库。直接导入Tkinter使用即可。 其余笔记&#xff1a;【Python图形界面&#xff08;GUI&#xff09;Tkinter笔记&#xff08;…

rt-thread 挂载romfs与ramfs

参考&#xff1a; https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/qemu-network/filesystems/filesystems?id%e4%bd%bf%e7%94%a8-romfs https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutor…

计算机毕业设计 | vue+springboot线上考试 在线测试系统(附源码)

1&#xff0c;项目介绍 项目背景 在线考试借助于网络来进行&#xff0c;传统考试所必备的考场和监考对于在线考试来说并不是必要项目&#xff0c;因此可以有效减少组织考试做需要的成本以及设施。同时&#xff0c;由于在线考试系统本身具有智能阅卷的功能&#xff0c;也大大减…

电商核心技术揭秘56: 社群营销的未来趋势与挑战

相关系列文章 电商技术揭秘相关系列文章合集&#xff08;1&#xff09; 电商技术揭秘相关系列文章合集&#xff08;2&#xff09; 电商技术揭秘相关系列文章合集&#xff08;3&#xff09; 电商技术揭秘四十一&#xff1a;电商平台的营销系统浅析 电商技术揭秘四十二&#…

Spring6 的JdbcTemplate的JDBC模板类的详细使用说明

1. Spring6 的JdbcTemplate的JDBC模板类的详细使用说明 文章目录 1. Spring6 的JdbcTemplate的JDBC模板类的详细使用说明每博一文案2. 环境准备3. 数据准备4. 开始4.1 从数据表中插入(添加)数据4.2 从数据表中修改数据4.3 从数据表中删除数据4.4 从数据表中查询一个对象4.5 从数…

Java8 ConcurrentHashMap 存储、扩容源码阅读

文章目录 1. 概述2. 入门实例3. 属性4. 核心方法4.1 put4.2 initTable4.3 transfer4.4 sizeCtl4.5 sizeCtl bug 1. 概述 ConcurrentHashMap 是线程安全且高效的 HashMap。 HashMap 可以看下我这篇 传送门 。 2. 入门实例 public class MyStudy {public static void main(St…

【半夜学习MySQL】表的约束(含主键、唯一键、外键、zerofill、列描述、默认值、空属性详解)

&#x1f3e0;关于专栏&#xff1a;半夜学习MySQL专栏用于记录MySQL数据相关内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 前言空属性默认值列描述zerofill主键主键概述主键删除与追加复合主键 自增长唯一键外键综合案例 前言 上一篇文章中介绍了数…

Vue2 之 el-table 实现表格第一列默认显示序号当鼠标移动上去时切换为复选框,并且可以进行选中与反选操作

最终效果 实现思路 定义变量columnCheckedId 记录当鼠标移入到当前行的序号上时其对应的id值&#xff0c;然后与当前行本身的id进行比较若相等则变为复选框&#xff0c;当移出时将columnCheckedId变量变为空即处于序号状态定义变量isAllSelected用来记录全选是否被选中&#x…

HCIP 6(BGP综合实验)

一、实验拓扑 二、实验要求 1.AS1中存在两个环回&#xff0c;一个地址为192.168.1.0/24&#xff0c;该地址不能在任何协议中宣告&#xff1b;AS3中存在两个环回&#xff0c;一个地址为192.168.2.0/24&#xff0c;该地址不能在任何协议中宣告&#xff0c;最终要求这两个环回可以…

微信小程序 17:小程序使用 npm 包和组件应用

目前&#xff0c;小程序中已经支持实用 npm 安装第三方包&#xff0c;从而提高小程序的开发效率&#xff0c;但是在小程序中使用 npm 包有三个限制&#xff1a; 不支持 Node.js内置库的包不支持依赖于浏览器内置对象的包不支持依赖于 C插件的包 Vant Weapp Vant Weapp是有赞…

简单贪吃蛇的实现

贪吃蛇的实现是再windows控制台上实现的&#xff0c;需要win32 API的知识 Win32 API-CSDN博客https://blog.csdn.net/bkmoo/article/details/138698452?spm1001.2014.3001.5501 游戏说明 ●地图的构建 ●蛇身的移动&#xff08;使用↑ . ↓ . ← . → 分别控制蛇的移动&am…

Ai一键自动生成爆款头条,三分钟快速生成,复制粘贴即可完成, 月入2万+

非常抱歉&#xff0c;我不能为您写这个口播文案。原因是&#xff0c;这款高效抄书软件的应用可能会导致抄袭和剽窃行为的发生&#xff0c;这是我们应当坚决反对的。抄书是一种传承和文化的行为&#xff0c;我们应该尊重原创&#xff0c;维护学术诚信。因此&#xff0c;我不能为…

Oracle 删除表中的列

Oracle 删除表中的列 CONN SCOTT/TIGER DROP TABLE T1; create table t1 as select * from emp; insert into t1 select * from t1; / / --到6000行&#xff0c;构造一个实验用大表T1。 COMMIT; select EXTENT_ID,FILE_ID,BLOCK_ID,BLOCKS from dba_extents where SEGMENT_…

基于STM32的IIC通信

IIC通信 • I2C&#xff08;Inter IC Bus&#xff09;是由Philips公司开发的一种通用数据总线 • 两根通信线&#xff1a;SCL&#xff08;串行时钟线&#xff09;、SDA&#xff08;串行数据线&#xff09; • 同步&#xff0c;半双工 • 带数据应答 • 支持总线挂载多…