dockers+Jenkins+git+自动化框架

1.我现在用python编写了一个自动化测试的框架,但是这个自动化框架仅是部署在我的本地电脑中,在实际的公司的运用场景中,自动化测试框架应该是部署在云服务器上,例如部署在Linux服务器上,然后把自动化框架部署在Jenkins上,并且用钩子和git链接,只要有人提交代码Jenkins就会自动运行我写好的自动化框架运行里面的测试用例,并且通过dockers来管理Jenkins的启动和关闭?

将你的自动化测试框架部署到云服务器并集成到 CI/CD 流程(如 Jenkins)中是一个重要的步骤。

  1. 准备云服务器
  2. 安装 Docker 和 Jenkins
  3. 创建 Jenkins Pipeline
  4. Git 集成
  5. 运行自动化测试框架

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
  1. 访问 Jenkins

    • 打开浏览器,访问 http://your-server-ip:8080
    • 根据提示输入初始管理员密码(可以通过运行 sudo docker exec -it <container_id> cat /var/jenkins_home/secrets/initialAdminPassword 获取)。
  2. 安装推荐的插件

  3. 创建一个新的 Pipeline 项目

    • 在 Jenkins 主界面上,点击 新建任务,输入项目名称,选择 Pipeline 类型,点击确定。
编辑 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 仓库
  1. 在 Jenkins 中配置你的 Git 仓库:

    • 在 Pipeline 项目的配置页面,找到 源代码管理,选择 Git,并填写你的仓库 URL。
  2. 配置事件触发器:

    • 找到 构建触发器,选择 GitHub hook trigger for GITScm polling 或者其他适合的选项,以便在代码提交时自动触发构建。
设置 Webhook(如果是 GitHub)
  1. 在 GitHub 仓库的设置中,选择 Webhooks
  2. 添加一个新的 Webhook,指向 http://your-server-ip:8080/github-webhook/,选择 application/json

运行自动化测试框架

测试流程
  • 现在,当你向 Git 仓库提交代码时,Jenkins 会自动触发构建,拉取最新代码,并运行你的自动化测试框架。
  • 你可以在 Jenkins 的构建历史中查看每次构建的结果和日志。

总结

通过以上步骤,你应该能够将你的 Python 自动化测试框架成功部署到云服务器上,并通过 Jenkins 实现 CI/CD 流程。你可以根据具体需求进一步完善这个流程,例如添加通知、测试报告、环境配置等。

相关推荐
深圳安锐科技有限公司19 分钟前
首次接触结构安全自动化监测系统,价格高吗?后期维护?
运维·自动化
TGB-Earnest26 分钟前
【py脚本+logstash+es实现自动化检测工具】
大数据·elasticsearch·自动化
high20118 小时前
【Git】-- 版本说明
git
kaixin_learn_qt_ing8 小时前
git clone
git
sin22018 小时前
git stash
git
喝鸡汤8 小时前
一起学Git【第二节:创建版本库】
git
慢慢成长的码农8 小时前
git 同步分支操作
git
sin22018 小时前
git推送本地仓库到远程(Gitee)
git·gitee
丁总学Java10 小时前
git branch -r(--remotes )显示你本地仓库知道的所有 远程分支 的列表
git
coder_pig11 小时前
📝小记:Ubuntu 部署 Jenkins 打包 Flutter APK
flutter·ubuntu·jenkins