📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
最近学习并应用了docker容器技术,用于将我的Python接口自动化代码快速地部署至服务器。
简单说一下docker,docker 是一种开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到Linux服务器上。
其实我在之前就了解过docker技术,但是并没有在实际项目测试中进行使用,通过这次实际应用,确实让我感受到了容器化技术的魅力。
在使用docker之前,可能需要花一周左右的实时间先简单学一下docker知识。
我们需要学习docker客户端工具、docker命令的基本使用、Dockerfile的编写和Jenkins构建命令的配置。
下面,我将基于我在项目测试中的实践作一下介绍。
安装Docker Desktop客户端工具
docker官网:https://www.docker.com/
Windows系统安装docker,可能需要先行安装WSL(Windows Subsystem for Linux),Docker Desktop 推荐使用 WSL 2 作为后端运行环境,因为 WSL 2 提供了更高效的 Linux 内核支持,是否需要安装需要结合自己电脑系统情况。
比如我的电脑系统是Windows 11 家庭中文版,就需要先安装WSL。
如需安装,可在电脑命令行中执行以下命令:
#安装WSL
wsl --install
#查看当前版本
wsl --version
#列出当前已安装的所有 WSL 发行版及其详细信息
wsl -l -v
#将新安装的 WSL 发行版的默认版本设置为 WSL 2
wsl --set-default-version 2
验证docker是否安装成功
如果出现docker的版本信息,说明docker安装成功
自定义Python项目镜像
由于我使用的是Python 3.10.5,因此我需要基于Python 3.10.5来自定义我的项目镜像。
1、首先启动docker客户端工具,然后打开电脑命令行,执行以下命令:
docker pull python:3.10.5
命令执行成功之后,可以登录客户端工具或者在电脑命令行中使用命令查看镜像文件。
客户端工具查看
命令行查看:执行docker images命令
2、基于Python3.10.5基础镜像,结合当前项目的依赖,构建自定义镜像文件my-pyhton-base。
2.1 列出当前项目所需的所有依赖包及其版本
在pycharm终端执行命令:
pip freeze > requirements.txt
会在当前项目目录下生成以下文件
2.2创建Dockerfile文件,使用docker build命令构建镜像。
在电脑端进入Dockerfile文件所在目录中
打开命令行工具,执行以下命令:
docker build -t my-python-base:3.10.5 .
构建镜像成功之后,会在当前目录下生成my-python-base.tar文件,同样可以在docker客户端工具或电脑命令行中查看,可以看到my-pyhton-base镜像文件已经生成。
导出该镜像文件为tar压缩文件,
上传至服务器
3.1导出自定义镜像文件
docker save -o my-python-base.tar(可自定义)my-python-base:3.10.5(本地镜像名)
3.2将归档文件加载到测试服务器的docker镜像库中
-
在测试服务器执行命令:
docker load -i my-python-base.tar
加载成功后,执行docker images|grep ‘my-python-base’命令,查看
3.3基于自定义Python镜像创建Dockerfile文件
在当前项目下重新创建Dockerfile文件,这次的Dockerfile文件是基于2.2中基于我自定义的镜像文件。
可以看到下方截图中第一行代码:FROM my-python-base:3.10.5
在jenkins中配置构建任务
4.1 配置构建任务
注意
① xqls_autotest是自定义的名称,需要与步骤2.2中创建的Dockerfile文件中的工作目录名称保持一致。
② 在jenkins每次构建时,需要先停止并删除正在运行的容器,并删除原有的镜像文件并重新构建,最后启动容器。
③ 由于在2.2步骤中已经将所需的项目依赖包都安装并打包在镜像文件中了,所以每次构建时,不需要重新下载了,这样保证每次构建时的环境是一样的,且速度很快。
4.2执行构建
可以看到构建过程中,按照设置的命令启动了容器。
按照Dockerfile文件中的指令,会基于我自定义的Python镜像文件。
首先将测试服务器(宿主机)中的Python代码拷贝到xqls_autotest容器中,
然后以xqls_autotest:latest镜像为模板启动容器执行项目代码。
检查构建结果
可以在下图中看到最终项目代码是执行成功了。
由于在jenkins中配置了定时构建,所以每天固定时间jenkins都会从代码仓库中拉取代码自动构建,并生成测试报告。
通过这段时间使用docker结合Jenkins进行测试代码自动化部署,确实感觉方便了不少,主要有以下几大优点:
①实现代码容器化,形成环境隔离。保证了本地环境、测试环境代码及其环境依赖的一致性,提高了代码部署的稳定性和可维护性。
②便于快速部署和启动。docker容器由于轻量,启动非常迅速。
③实现自动化持续集成:通过设置构建任务触,可以实现自动化执行代码拉取、构建、测试、测试报告生成,方便动态监控测试结果,提升交付效率。
本篇文章主要是介绍我在项目测试中应用docker、jenkins的场景和方式,对于还没接触过或者不了解docker、jenkins的同学,可能还需要自己细致学习一下相关的知识,掌握相关知识后能帮助大家更好地应用和拓展。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】