首页主机资讯Jenkins在Linux中如何实现自动化测试

Jenkins在Linux中如何实现自动化测试

时间2025-11-26 23:08:04发布访客分类主机资讯浏览684
导读:在 Linux 上使用 Jenkins 实现自动化测试 一 架构与准备 运行环境:在 Linux 上安装 JDK 11+ 与 Jenkins(可用系统包管理器或官方仓库安装),启动后用浏览器访问 http://服务器IP:8080 完成解...

在 Linux 上使用 Jenkins 实现自动化测试

一 架构与准备

  • 运行环境:在 Linux 上安装 JDK 11+Jenkins(可用系统包管理器或官方仓库安装),启动后用浏览器访问 http://服务器IP:8080 完成解锁与初始化。为后续测试与报告展示,建议安装常用插件:GitMaven IntegrationJUnit、以及用于报告的 Allure 插件。整体流程包含:拉取代码 → 构建/安装依赖 → 执行测试 → 收集与展示报告 → 通知与归档。

二 两种常用落地方式

  • 方式 A Docker 化流水线(推荐)

    • 思路:在 Jenkins 容器内打通宿主机 Docker(挂载 /var/run/docker.sock/usr/bin/docker),在 Pipeline 中基于项目依赖构建 Python 镜像,启动容器运行测试,结束后清理。
    • 关键步骤与示例:
      • 启动 Jenkins 容器(示例将宿主机 9999 映射到容器 8080,并以 root 运行以便调用宿主机 Docker)
        • docker run -dit --name jenkins_test -p 9999:8080 -u root
          -v /var/run/docker.sock:/var/run/docker.sock
          -v /usr/bin/docker:/usr/bin/docker jenkins/jenkins:alpine
      • Pipeline 片段(检出代码 → 构建镜像 → 运行测试 → 归档报告)
        • pipeline { agent any environment { IMAGE = “test-py:${ env.BUILD_NUMBER} ” REPORT_DIR = “reports” } stages { stage(‘Checkout’) { steps { git ‘https://github.com/your/repo.git’ } } stage(‘BuildImage’) { steps { sh ‘docker build -t $IMAGE .’ } } stage(‘Test’) { steps { sh ‘’’ docker run --rm
          -v $PWD:/workspace
          -w /workspace
          $IMAGE pytest tests/ --alluredir=$REPORT_DIR ‘’’ } } } post { always { archiveArtifacts artifacts: “$REPORT_DIR/**”, allowEmptyArchive: true allure([ includeProperties: false, jdk: ‘’, properties: [], reportBuildPolicy: ‘ALWAYS’, results: [[path: “$REPORT_DIR”]] ]) } } }
    • 说明:Docker 化可实现环境隔离与可重复执行;若需推送镜像到仓库,可在流水线中加入 docker push 步骤。
  • 方式 B 直接在 Agent 上执行(无容器)

    • 适用场景:已有稳定的 Linux 测试机/代理,直接安装 Python 3pytestAllure CLI 等依赖,在 Job 中执行脚本并收集报告。
    • 关键步骤与示例:
      • 安装依赖(示例)
        • sudo apt-get update & & sudo apt-get install -y python3 python3-pip
        • pip3 install -U pytest allure-pytest
      • Freestyle Job 配置
        • 源码管理:选择 Git,填写仓库与分支
        • 构建步骤:执行 Shell
          • pytest tests/ --alluredir=reports
        • 构建后操作:
          • 归档构件:reports/**(用于历史留存)
          • 发布 Allure 报告(安装 Allure 插件后可用)
      • 触发方式:可配置 轮询 SCM定时构建,实现无人值守运行。

三 触发与报告

  • 触发策略
    • 代码变更触发:在 GitLab/GitHub 与 Jenkins 间配置 Webhook,实现 push/merge 即构建;Jenkins 侧安装对应插件(如 GitLab Plugin),并在任务里勾选 “Build when a change is pushed to GitLab/GitHub”。
    • 定时触发:在任务配置中使用 Cron 表达式(如 H/30 * * * * 表示每 30 分钟)进行定时回归。
  • 报告与质量门禁
    • 单元测试/接口测试:使用 JUnit 报告插件收集与展示测试结果,便于趋势分析与失败定位。
    • 接口/UI 可视化报告:使用 Allure 生成美观报告并归档与展示,结合历史趋势做质量评估。

四 实践要点与排错

  • 无头与浏览器自动化
    • Linux 服务器通常无界面。UI 自动化建议使用 Selenium 4 + Chrome/Chromium HeadlessPlaywright,不建议使用已弃用的 PhantomJS(Selenium 3 起不再支持)。
  • Docker 权限与性能
    • 若 Jenkins 运行在容器中并需调用宿主机 Docker,务必挂载 /var/run/docker.sock/usr/bin/docker;注意容器以 root 运行的安全风险,生产可细化权限或使用 Docker-in-Docker
  • 报告与产物
    • 确保测试框架输出到固定目录(如 reports/),并在 Jenkins 中配置归档与 Allure 发布;失败的构建也应保留日志与报告以便回溯。
  • 触发器与网络
    • Webhook 需保证 Jenkins 可被 Git 服务访问(公网/内网可达、正确 Secret/TokenCSRF 配置);内网环境可使用 内网域名或隧道

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Jenkins在Linux中如何实现自动化测试
本文地址: https://pptw.com/jishu/757218.html
Debian挂载SSD固态硬盘技巧 Linux环境下Jenkins如何进行日志分析

游客 回复需填写必要信息