Docker+Jenkins实现Python 接口自动化部署!步骤齐全,少走坑路!

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


最近学习并应用了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%免费】

​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值