- 博客(54)
- 收藏
- 关注
原创 Nginx关于servername配置无效的处理
return403;#拒绝未匹配请求,或者返回自定义响应。发现配置的server_name随便填什么都可以访问前端静态文件。的值实际上不起作用,所有通过IP访问的请求都会被路由到这个。,Nginx默认将配置文件中的第一个。加入default_server配置。配置中,由于没有明确设置。
2025-01-19 10:00:50
289
原创 docker在不删除容器的情况下修改端口映射
3) 修改这个容器的hostconfig.json和config.v2.json文件中的端口。2) 停止docker服务(systemctl stop docker)注意:必须先停止docker服务!
2025-01-16 17:38:19
502
原创 fetch-pack: unexpected disconnect while reading sideband packet报错问题排查
注意这个报错client_loop: send disconnect: Broken pipe00 KiB | 221.00 KiB/s。若为云服务器 需要考虑服务器配置带宽等等(通常云服务器带宽都是够的)浪费了很多时间,比如增加缓存 超时时间等等 没有用。200kb/s ,多试几次甚至有时候几百B。若网络排查没问题 可以查看这个论坛解决办法。使用git clone较大项目时一直报错。开始考虑有没有可能就是网络原因?试一下国内镜像源的更新也报错。再次git clone 成功。排查一下虚拟机网络配置。
2025-01-08 15:15:54
475
原创 Jenkins管理多版本python环境
场景:项目有用到python3.8和3.9,python环境直接安装在jenkins容器内。删除指定的 Python 配置(以 Python 3.8 为例)使用update-alternatives管理python版本。这里使用wget命令下载阿里云镜像源。# 提前安装,以便接下来的配置操作。删除所有 Python 版本的配置。4、编译源码安装python。1、进入jenkins容器。3、下载python包。2、安装前置编译环境。
2024-12-30 11:15:05
1133
原创 Docker安装Jenkins教程
CI、CD 其实是三个概念,包含了一个 CI 和两个 CD,CI全称 Continuous Integration,表示持续集成,CD包含 Continuous Delivery和 Continuous Deployment,分别是持续交付和持续部署。这三个概念之间是有前后依赖关系的。CI/CD 并不是一个工具,它是一种软件开发实践,核心是通过引入自动化的手段来提高软件交付效率。CI/CD 最终目的:让工程师更快 & 更高质量 & 更简单的交付软件!什么是 CI/CD?
2024-12-27 11:32:41
847
原创 nps内网穿透工具的使用
已有一台华为云服务器(任意外网ip都可以)和一台虚拟机(内网),通过nps内网穿透,实现访问内网虚拟机。举例:三台电脑,云服务器、虚拟机(家里电脑)、公司电脑,在公司以云服务器作为通道直接访问虚拟机。
2024-12-27 10:41:50
1355
原创 Charles安装证书过程(手机)
背景:使用模拟器抓包时,发现https请求无法抓取,需要安装相应证书。我自己是因为模拟器升级了安卓7,发现之前安装的证书无效了,需要重新安装。Proxy-Proxy Setting 如下图,8888表示代理端口,对应手机设置代理端口。Proxy-SSL Proxying setting 如下图,*表示抓取所有。安装证书即可 ,此时安装的证书会在用户目录下。使用MT管理器移动证书,需要有ROOT权限。路径如下图,移动后即可抓到https包了。可在信任的凭据查看证书。一、PC设置代理配置。
2024-12-24 10:09:00
1606
原创 记录Kettle中配置mysql驱动
报错1:Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.1.确定连接数据库版本,是mysql8.0还是其他,下载对应驱动。自定义连接:jdbc:mysql://数据库ip:3306/数据库名称?自定义驱动:com.mysql.cj.jdbc.Driver。驱动移至lib目录下后,需要。
2024-08-23 10:31:45
571
2
原创 pytest并发执行时token异常处理问题
代码是由之前的代码使用gpt生成的 ,针对token.json文件的锁好像无用,还是会导致登录频繁报错。这里改为对username的锁,保证同一时间同一账号只登录一次。另外,避免出现其他不稳定的情况,建议加上重试 --reruns 2。接前面加入钩子函数处理token复用的问题,只保证了用例的串联执行,我的部分测试用例中接入了通义千问的部分接口生成测试数据,七八个场景跑完差不多快要10分钟。这里还有个疑问,加上并发执行后,控制台打印的中文日志全变成了乱码,不明所以,后续有时间再看看怎么解决。
2024-06-14 15:28:00
869
原创 记录request库的部分封装
这里的super(Register, self).__init__(api_root_url, **kwargs)的作用是确保Register类的实例在创建时,不仅设置了自己的属性(如果有的话),还正确地初始化了从RestClient继承来的所有属性和进行了必要的配置设置。总的来说,这个RestClient类提供了一个方便的方法来发送HTTP请求,并记录请求的详细信息,方便调试和监控。request_log方法用于记录请求的详细信息,包括URL、HTTP方法、请求头、请求参数、请求体等。
2024-06-14 14:21:19
593
原创 记录pytest中场景执行的token异常处理问题
注册==>登录 这一步执行的非常快,每次都能成功,且账号和我后续用例的账号是一个账号。登录这里并没有修改token.json文件,即缓存对应账号的token值。这就导致我第二条用例使用同一账号登录时,报错登录频繁,被拦截。所有的用例都报获取不到token,方法改了又改,浪费半天时间还是没有发现任何问题。缓存机制添加的是600s,这里提示间隔1400s,很明显不太正常,第一个用例和第二个用例之间怎么可能差距这么大呢?,每个用例单独执行都很正常,但是批量执行时一直报错,token缓存处理也不生效。
2024-06-13 17:14:54
897
原创 pytest中token的一种处理方法
定义了一个get_or_refresh_token闭包,该闭包负责根据用户名获取或刷新token。虽然auth_tokens fixture在模块级别只实例化一次,但是它返回的闭包(get_or_refresh_token)能够对每个传入的用户名进行独立的操作,确保每个账号的token都是根据需要获取或刷新的。在某个场景中,各个接口经常需要使用到token,而且接口对频繁登录做了防抖,无法频繁调用。考虑了很多方法,发现总是有一些或多或少的弊端,这里在conftest中定义了一个钩子函数用于处理token。
2024-06-12 14:36:01
570
原创 pytest中一个场景测试的demo
allure.severity_level.BLOCKER:阻塞级别的问题,系统无法继续运行或测试无法继续。allure.severity_level.TRIVIAL:轻微的问题,几乎不影响系统功能,通常是最不紧急的。allure.severity_level.NORMAL:普通级别的问题,不影响主要功能,但需要解决。allure.severity_level.MINOR:次要级别的问题,影响较小,可以稍后处理。@allure.severity 是一个装饰器,用于设置测试用例的严重性级别。
2024-06-12 14:12:06
572
原创 git回滚项目至指定版本
这里回退至上一个版本 git reset --hard 版本号。若非对应分支,使用git checkout 分支名 切换分支。进入到项目目录地址,使用git log查看提交版本信息。再次推送即可 这里需要使用-f命令 强行推送。2.在pycharm中回滚项目。
2024-06-12 10:20:11
709
原创 pytest中失败用例重跑
配置文件中加入命令 --reruns 次数 也可在命令行中pytest --rerun-failures=2。下载rerunfailures插件包。
2024-06-11 09:32:40
602
原创 Allure在jenkins中无法显示的问题
Path需要选择相对路径的allure-report、allure-results。jenkins中使用allure生成报告需要注意工作环境和路径的配置。jenkins容器中已安装jdk和allure。
2024-06-04 17:41:21
711
原创 docker不删除容器更改其挂载目录
场景:docker搭建的jenkins通常需要配置很多开发环境,当要更换挂载目录,每次都需要删除容器重新运行,不在挂载目录的环境通常不会保留。3.更改config.v2.json 中的MountPoints信息。数据看起来比较乱,直接复制到在线解析中解析,方便找到需要更改的挂载目录。例如 我的jenkins容器的id是14b052d9faa2。备份一下,再把解析并更改的json文件粘贴过来即可。1.docker ps 查找容器id。2.进入该容器的配置文件中。
2024-05-24 14:41:38
1121
原创 linux中安装sqlite包
在pycharm中写好代码,为让代码能在jenkins中构建并运行,linux中也需要安装所需包。下载pysqlite3仍然报错,缺少必要组件。下载并更新setuptools。
2024-05-24 10:47:02
758
原创 记录github小程序短视频系统的搭建过程
其中Basecontroller中的ffmpeg所在路径,需要自行下载ffmpeg。最后搭配其提供的api接口文档进行上传视频即可正常访问。大概涉及到这些代码块,进行更改即可。
2024-05-24 09:26:22
665
原创 docker搭建私有仓库并推送本地镜像
报错Get "https://1.94.143.44:5000/v2/": http: server gave HTTP response to HTTPS client。这里把本地的nginx镜像打包,docker tag nginx 自己的ip:5000/nginx:1.0。增加一行 "insecure-registries" : ["自己的ip:5000"]curl -XGET http://自己的ip:5000/v2/_catalog。注意这里也要配置daemon.json文件。
2024-05-22 11:13:42
1590
原创 记录docker ps查找指定容器的几个命令
1.docker ps | grep registry 查询包含registry的容器2.docker ps | grep -E "reigistry\s+" 开启正则匹配模式,匹配registry后面为空格的容器,若是匹配一整行可以这样写docker ps | grep -E "^([0-9a-f]{12})\s+registry\s+.*"这里,-E开启了 extended regular expressions,正则表达式\s+registryregistry\s+.*
2024-05-22 09:45:49
1023
原创 关于pytest中用例名称使用中文乱码的解决
场景:使用@pytest.mark.parametrize装饰器为用例自定义名称时,运行显示乱码。1.在根目录 pytest.ini中增加一行代码。2.在conftest.py中加入钩子函数。
2024-05-21 17:18:43
618
原创 记录使用data.load_yaml加载yaml文件
解释一下:get_data 函数尝试从指定路径加载YAML文件。此时,pytest.skip(str(ex)) 将被调用,它会立即停止当前测试用例并标记为跳过,原因是异常的字符串表示(str(ex))。这样做的目的是在加载YAML文件失败时,防止测试继续执行并产生错误结果,而是以更友好的方式告知测试被跳过,原因是加载数据时遇到了问题。如果文件成功加载,函数会返回解析后的YAML数据。加载结果: yaml_data 是一个字典,其内容是从名为 data.load_yaml 的函数加载的YAML格式的数据。
2024-05-21 10:42:58
310
原创 k8s1.24+ dashboard不能自动生成token的问题
根据yaml文件配置内容创建更新资源对象,可以看到没有生成admin-token类似字眼。较早版本会自动生成secret,v1.28.2版本需要手动生成,执行命令即可。创建k8s-admin.yaml文件。
2024-05-17 13:30:52
672
原创 记录k8s中部署dashboard报错ImagePullBackOff
修改kubernetes-dashboard.yaml 文件,将kubernetes-dashboard容器镜像来源改为 mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.0。查看container服务日志信息,提示无法拉取k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1这个镜像。查看pod信息,能观察到在node1节点新创建了一个dashboard。手动拉取镜像超时,说明这个镜像源用不了,尝试换一个。
2024-05-17 11:49:01
872
原创 Vmware首次创建虚拟机配置ssh
2.桌面会有一个光盘文件,点击进去解压到桌面即可。我这里已经安装过了。1.虚拟机->安装VMware Tools。3.重启ssh服务并尝试连接。安装tools方便复制粘贴。3.按照步骤执行即可。4.安装完后重启系统。2.下载ssh相关包。
2024-05-16 13:56:15
1168
原创 云服务器上部署Kubernetes集群(K8S)
该博客是centos系统,所以稍微有点区别结合另一篇博客一起参考。由于是ubuntu系统,参考两个博客配置。master节点:master。1.查看所有集群中所有pod。node节点:node1。禁用交换分区和防火墙。
2024-05-16 09:54:34
648
原创 使用unitest对redis连接做一个简单的单元测试
首先设置一个测试用的键值对,然后通过调用handle_redis_token()方法设置键值对,并使用断言语句确保设置后的值与预期值相等。首先设置一个测试用的键值对,然后通过调用handle_redis_token()方法获取键值,并使用断言语句确保获取的值与预期值相等。该方法为类级别的设置方法,用于在所有测试用例执行前进行环境准备。首先创建一个测试套件,将TestRedisDb类中的测试用例添加到套件中,然后创建一个测试运行器并运行测试套件。的类,用于简化与Redis数据库的交互操作。
2024-05-11 16:51:41
335
1
原创 pytest中直接参数传递和@pytest.mark.usefixtures的区别
在这种情况下,delete_register_user作为测试函数的一个参数直接被传递。@pytest.mark.usefixtures("delete_register_user") def test_register_user(self,delete_register_user )这两种前置delete_register_user有什么区别?在这两个例子中,delete_register_user都是一个fixture,它会在test_register_user测试函数运行之前被调用。
2024-05-11 16:32:25
428
1
原创 pytest使用装饰器@pytest.fixture实现前后置执行用例
1.@pytest.fixture定义的作用域大小关系:session > module > class > function。(1)scope表示的是被@pytest.fixture标记的方法的作用域。function(默认),class,(2)params:参数化(支持,列表[],元祖(),字典列表[{},{},{}],字典元祖({},{},{})(4)ids:当使用params参数化时,给每一个值设置一个变量名。(5)name:给表示的是被@pytest.fixture标记的方法取一个别名。
2024-05-10 16:35:37
212
原创 使用docker部署nginx并创建本地挂载目录
修改/newdir2/nginx/conf/conf.d/default.conf文件。拉取nginx镜像并启动nginx。复制配置文件到宿主机器。
2024-04-29 16:26:16
648
2
原创 ubuntu扩容分区
5、输入m 打开帮助,读这里的选项,我们就能够找到增加一个分区的,输入n,这里我们增加一个主分区,所有后面输入p,然后默认的从扇区编号41940992-62914559意思是将磁盘多余的扇区都分配出来。4、能看到整个sda磁盘30G,已经分配的/dev/sda5 还是之后19.5G的容量,这时候我们就可以把10G的磁盘空间分配给/home的空间,这里我们用逻辑卷的模式来进行。2、标红色的是我的根文件系统,可以看到这个文件系统已经使用了51%,共有19G的容量。扩完磁盘之后,再fdisk 看下磁盘的容量。
2024-04-29 16:22:09
422
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人