头图

使用Docker搭建Jenkins + Python + Allure自动化测试环境

在现代软件开发中,自动化测试是确保代码质量的重要环节。通过Docker容器化技术,可以高效地搭建一个集成JenkinsPythonAllure的自动化测试环境。以下是详细的步骤和说明:

📦 1. 安装Docker

Docker 是一个开源的容器化平台,允许开发者打包应用及其依赖,以确保在任何环境中一致运行。

安装步骤:

  1. 下载Docker:访问 Docker官方网站 下载适合你操作系统的Docker安装包。
  2. 安装Docker:根据下载的安装包进行安装,安装过程简单,按照提示完成即可。
  3. 启动Docker服务:安装完成后,确保Docker服务已启动。可以通过命令行验证:

    docker --version

    解释:此命令将显示Docker的版本信息,确认Docker已正确安装。

🐳 2. 获取并运行Jenkins镜像

Jenkins 是一个开源的自动化服务器,用于持续集成和持续交付。

运行Jenkins容器:

docker run -d -p 8080:8080 -p 50000:50000 --name jenkins-master jenkins/jenkins:lts

解释

  • -d:以分离模式运行容器。
  • -p 8080:8080:将主机的8080端口映射到容器的8080端口,用于访问Jenkins。
  • -p 50000:50000:映射50000端口,用于Jenkins代理连接。
  • --name jenkins-master:为容器命名为jenkins-master
  • jenkins/jenkins:lts:指定使用Jenkins的长期支持版本镜像。

🌐 3. 访问并初始配置Jenkins

  1. 访问Jenkins界面:在浏览器中打开 http://localhost:8080
  2. 获取初始密码

    docker exec -it jenkins-master cat /var/jenkins_home/secrets/initialAdminPassword

    解释:此命令进入Jenkins容器并读取初始管理员密码,用于首次登录。

  3. 完成初始设置:输入初始密码后,按照向导安装推荐插件,并创建第一个管理员用户。

🔌 4. 安装必要的Jenkins插件

插件扩展了Jenkins的功能,以下是关键插件:

  • Git:集成Git源码管理。
  • Pipeline:支持声明式流水线。
  • Docker:允许Jenkins与Docker交互。
  • Allure:生成和展示测试报告。

安装步骤:

  1. 进入 Manage Jenkins -> Manage Plugins
  2. Available 标签下搜索并安装上述插件。
  3. 安装完成后,重启Jenkins以应用插件。

🐍 5. 配置Python环境

确保Jenkins能够运行Python脚本。

配置步骤:

  1. 进入 Manage Jenkins -> Global Tool Configuration
  2. Python 部分,点击 Add Python
  3. 输入Python的名称(如Python3),并指定Python的安装路径。如果使用Docker容器,可以在构建步骤中安装Python。

解释:配置全局Python环境,确保流水线能够调用Python解释器。

📁 6. 创建Pipeline任务

Pipeline 是Jenkins用于定义自动化流程的方式。

创建步骤:

  1. 在Jenkins主页,点击 New Item
  2. 输入任务名称,选择 Pipeline 类型,点击 OK
  3. 在配置页面,设置源码管理(如GitHub仓库)、触发条件(如代码提交触发)、构建步骤等。

📜 7. 编写Jenkinsfile

Jenkinsfile 定义了流水线的各个阶段和步骤。以下是示例:

pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                // 获取源码
                checkout scm
            }
        }
        stage('Build') {
            steps {
                // 创建虚拟环境并安装依赖
                sh 'python -m venv venv'
                sh '. venv/bin/activate'
                sh 'pip install -r requirements.txt'
            }
        }
        stage('Test') {
            steps {
                // 运行测试脚本
                sh 'pytest --alluredir=allure-results'
            }
        }
        stage('Generate Allure Report') {
            steps {
                // 生成Allure报告
                sh 'allure generate allure-results -o allure-report'
                allure includeProperties: false, jdk: '', results: [[path: 'allure-report']]
            }
        }
    }
}

解释

  • agent any:在任何可用的代理上运行。
  • Checkout:从源码管理中检出代码。
  • Build:创建Python虚拟环境并安装项目依赖。
  • Test:运行测试脚本,并将结果存储在allure-results目录。
  • Generate Allure Report:生成测试报告并集成到Jenkins中。

🛠️ 8. 安装Allure

Allure 是一个灵活的轻量级测试报告框架。

安装步骤:

  1. 进入Jenkins容器:

    docker exec -it jenkins-master bash
  2. 安装Allure命令行工具:

    wget https://github.com/allure-framework/allure2/releases/download/2.13.9/allure-2.13.9.tgz
    tar -zxvf allure-2.13.9.tgz -C /opt/
    ln -s /opt/allure-2.13.9/bin/allure /usr/bin/allure

    解释

    • 下载Allure压缩包并解压到/opt/目录。
    • 创建符号链接,使allure命令可在全局使用。
  3. 验证安装:

    allure --version

    解释:显示Allure的版本,确认安装成功。

🐳 9. 集成Docker

在构建步骤中使用Docker Agent,确保测试在隔离的环境中运行。

配置步骤:

  1. 在Jenkinsfile中指定Docker Agent:

    pipeline {
        agent {
            docker {
                image 'python:3.8'
                args '-v /var/run/docker.sock:/var/run/docker.sock'
            }
        }
        // 其余流水线定义
    }

    解释

    • 使用官方Python 3.8镜像作为构建环境。
    • 挂载Docker socket,使容器内的Docker命令可用。

📊 10. 配置Allure插件

将生成的Allure报告展示在Jenkins界面中。

配置步骤:

  1. 确保Allure插件已安装(参见步骤4)。
  2. 在Jenkinsfile的Generate Allure Report阶段,添加Allure报告发布步骤:

    allure includeProperties: false, jdk: '', results: [[path: 'allure-results']]
  3. 在任务配置中,添加Post-build Actions,选择Allure Report,并配置报告路径为allure-report

解释:配置Allure插件,使其能够识别并展示生成的测试报告。

🚀 11. 保存并运行Pipeline

完成所有配置后,保存Jenkinsfile并触发Pipeline任务。

运行步骤:

  1. 提交代码到源码管理仓库,触发Pipeline自动运行。
  2. 在Jenkins任务页面,查看各阶段的执行情况。
  3. 运行完成后,点击Allure Report查看详细的测试报告。

🧩 工作流程图

graph TD
    A[安装Docker] --> B[运行Jenkins容器]
    B --> C[访问并配置Jenkins]
    C --> D[安装必要插件]
    D --> E[配置Python环境]
    E --> F[创建Pipeline任务]
    F --> G[编写Jenkinsfile]
    G --> H[安装Allure]
    H --> I[集成Docker]
    I --> J[配置Allure插件]
    J --> K[运行Pipeline]
    K --> L[查看Allure报告]

📝 结论

通过以上十二个步骤,你可以在Docker环境中成功搭建一个集成JenkinsPythonAllure的自动化测试环境。此环境不仅支持持续集成和持续交付,还能生成详尽的测试报告,助力开发团队提升代码质量和开发效率。🚀


蓝易云
33 声望3 粉丝