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:

# 更新包索引
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
  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,然后在脚本框中输入如下:

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 流程。你可以根据具体需求进一步完善这个流程,例如添加通知、测试报告、环境配置等。

上一篇:设计模式-状态模式(State)


下一篇:web服务器