1.我现在用python编写了一个自动化测试的框架,但是这个自动化框架仅是部署在我的本地电脑中,在实际的公司的运用场景中,自动化测试框架应该是部署在云服务器上,例如部署在Linux服务器上,然后把自动化框架部署在Jenkins上,并且用钩子和git链接,只要有人提交代码Jenkins就会自动运行我写好的自动化框架运行里面的测试用例,并且通过dockers来管理Jenkins的启动和关闭?
将你的自动化测试框架部署到云服务器并集成到 CI/CD 流程(如 Jenkins)中是一个重要的步骤。
- 准备云服务器
- 安装 Docker 和 Jenkins
- 创建 Jenkins Pipeline
- Git 集成
- 运行自动化测试框架
1. 准备云服务器
首先,你需要一台云服务器。可以选择 AWS、Azure、Google Cloud 或其他云服务提供商。这里以 Linux 服务器为例:
- 启动云服务器:- 选择合适的实例类型(根据你的测试需求)。- 确保你为服务器配置了足够的存储和性能。
- SSH 连接到服务器:
ssh username@your-server-ip
2. 安装 Docker 和 Jenkins
安装 Docker
在你的 Linux 服务器上,首先安装 Docker:
# 更新包索引
sudo apt-get update
# 安装必要的包,以允许 apt 使用 HTTPS
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
# 添加 Docker 的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 添加 Docker 的稳定版本库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 更新包索引
sudo apt-get update
# 安装 Docker
sudo apt-get install docker-ce
# 验证 Docker 是否安装成功
sudo docker --version
安装 Jenkins
接下来,安装 Jenkins。可以使用 Docker 来简化安装过程。
# 拉取 Jenkins 镜像
sudo docker pull jenkins/jenkins:lts
# 运行 Jenkins 实例
sudo docker run -d -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
- 这将 Jenkins 绑定到 8080 端口,你可以通过
http://your-server-ip:8080
访问 Jenkins。
3. 创建 Jenkins Pipeline
初次设置 Jenkins
- 访问 Jenkins:- 打开浏览器,访问
http://your-server-ip:8080
。- 根据提示输入初始管理员密码(可以通过运行sudo docker exec -it <container_id> cat /var/jenkins_home/secrets/initialAdminPassword
获取)。 - 安装推荐的插件。
- 创建一个新的 Pipeline 项目:- 在 Jenkins 主界面上,点击
新建任务
,输入项目名称,选择Pipeline
类型,点击确定。
编辑 Pipeline 代码
在 Pipeline 的配置页面中,选择
Pipeline
的定义方式为
Pipeline script
,然后在脚本框中输入如下:
pipeline {
agent {
docker {
image 'python:3.8' // 使用 Python Docker 镜像
args '-v /var/run/docker.sock:/var/run/docker.sock' // 允许 Docker 在 Docker 中运行
}
}
stages {
stage('Checkout') {
steps {
checkout scm // 从 Git 仓库中检出代码
}
}
stage('Install Dependencies') {
steps {
sh 'pip install -r requirements.txt' // 安装依赖
}
}
stage('Run Tests') {
steps {
sh 'pytest' // 运行自动化测试
}
}
}
}
4. Git 集成
配置 Git 仓库
- 在 Jenkins 中配置你的 Git 仓库:- 在 Pipeline 项目的配置页面,找到
源代码管理
,选择Git
,并填写你的仓库 URL。 - 配置事件触发器:- 找到
构建触发器
,选择GitHub hook trigger for GITScm polling
或者其他适合的选项,以便在代码提交时自动触发构建。
设置 Webhook(如果是 GitHub)
- 在 GitHub 仓库的设置中,选择
Webhooks
。 - 添加一个新的 Webhook,指向
http://your-server-ip:8080/github-webhook/
,选择application/json
。
运行自动化测试框架
测试流程
- 现在,当你向 Git 仓库提交代码时,Jenkins 会自动触发构建,拉取最新代码,并运行你的自动化测试框架。
- 你可以在 Jenkins 的构建历史中查看每次构建的结果和日志。
总结
通过以上步骤,你应该能够将你的 Python 自动化测试框架成功部署到云服务器上,并通过 Jenkins 实现 CI/CD 流程。你可以根据具体需求进一步完善这个流程,例如添加通知、测试报告、环境配置等。
实际的部署Linux上部署Jenkins:
首先Linux的网络配置
情况说明我的虚拟机使用的是Linux系统,并且是net的网络模式,所以容易遇见一个问题就是网络配置的问题,如果你是使用的net模式的话,那你就是VM8这个就是你的虚拟机网卡了。
这里的网卡的设置,一定要设置在同一个网段下这里以192.168.9为例子。
打开终端,输入命令: vi /etc/sysconfig/network-scripts/ifcfg-ens33,这里设置虚拟机的IP和网关的网段要保持一致,记得网关要和外面的网关保持一致。
上面的配置完成之后,要是还是无法连接外网,则可以开始排查问题:
问题一:网关问题
打开终端输入命令: route -n查看路由和网关,可以看见Gateway下,我们设置的网关地址。
直接ping这个网关,显示正常ping通,则排除问题。
问题二,网关的DNS地址不正确是乱码
终端输入命令:cat /etc/resolv.conf 输出结果显示DNS地址为乱码,则修改这个配置文件。
终端输入命令: vim /etc/resolv.conf,打开文件,点击i插入,修改为以下的内容:修改完wq保存退出,这个时候再ping baidu.com,应该就正常了。
Linux安装Java17:
为什么要安装Java的jdk17呢,因为Jenkins就是Java打的war包,所以对应的Jenkins就要有对应的war包,因为我下载的是最新版的Jenkins的war包。
还有一个要注意的点就是这篇文章是直接在orcal的官方地址下载的,所以我们正常下载的时候速度很慢,所以需要先需要挂个梯子,然后再进行下载就很快了。
很多教程都是通过命令行去下载,我不建议,直接在主机下载完成通过Xshell的方式把下载好的Java的jdk压缩包传输上去就可以了。 看这篇就可以了。
Linux(CentOS Stream 9) 安装 Java JDK 17 (源码方式安装)【图文详细教程】_linux java17-CSDN博客
Linux安装Jenkins:
这是Jenkins的下载地址,下一个Java17对应的Jenkins版本,通过Xshell的方式直接上传到Linux虚拟机上就可以了。同样的如果上传之后,没办法查看到该war包,请查看你自己编写的,Xshell篇。
版权归原作者 Zpb185 所有, 如有侵权,请联系我们删除。