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:
bash
# 更新包索引
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 来简化安装过程。
bash
# 拉取 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
类型,点击确定。
- 在 Jenkins 主界面上,点击
编辑 Pipeline 代码
在 Pipeline 的配置页面中,选择 Pipeline
的定义方式为 Pipeline script
,然后在脚本框中输入如下:
bash
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。
- 在 Pipeline 项目的配置页面,找到
-
配置事件触发器:
- 找到
构建触发器
,选择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 流程。你可以根据具体需求进一步完善这个流程,例如添加通知、测试报告、环境配置等。