首页主机资讯Linux下Jenkins如何测试

Linux下Jenkins如何测试

时间2025-12-04 20:42:04发布访客分类主机资讯浏览515
导读:Linux下Jenkins测试实操指南 一 环境准备与安装 安装 Java(推荐 OpenJDK 11 或 JDK 8),并配置环境变量(如 JAVA_HOME)。 安装并启动 Jenkins: Debian/Ubuntu 示例: 添...

Linux下Jenkins测试实操指南

一 环境准备与安装

  • 安装 Java(推荐 OpenJDK 11JDK 8),并配置环境变量(如 JAVA_HOME)。
  • 安装并启动 Jenkins
    • Debian/Ubuntu 示例:
      • 添加仓库与密钥,执行:sudo apt update & & sudo apt install jenkins,随后 sudo systemctl enable --now jenkins
      • 首次访问 http://服务器IP:8080,解锁密码在 /var/lib/jenkins/secrets/initialAdminPassword
    • CentOS/RHEL 示例:
      • 导入仓库与密钥,执行:sudo yum install jenkins,随后 sudo systemctl enable --now jenkins
  • 登录 Web 管理端,安装常用插件:Pipeline、Git、JUnit、HTML Publisher、Maven Integration、Performance Plugin、Credentials Binding 等,用于后续测试与报告展示。

二 测试类型与示例流水线

  • 下表给出常见测试类型在 Linux + Jenkins 的落地方式与关键配置:
测试类型 前置与环境 关键命令或插件 报告与归档
单元测试(Java + Maven) 安装 Maven,项目遵循 Maven 结构 mvn test JUnit 报告(target/surefire-reports/*.xml),使用 “Publish JUnit test result report” 归档
接口/性能(JMeter) 安装 JMeter 并配置 JMETER_HOME jmeter -n -t script.jmx -l result.jtl -j run.log 使用 Performance Plugin 展示聚合报告;或用 HTML Publisher 发布 HTML 报告
UI 自动化(Selenium + Allure) 安装 pytestAllure 命令行 pytest … --alluredir=allure_results Allure 报告(需配置 Allure Commandline 工具路径)
  • 示例一 接口/性能测试 Pipeline(JMeter)
pipeline {

  agent any
  environment {

    JMETER_HOME = '/opt/jmeter/apache-jmeter-5.4.3'
    PATH = "${
JMETER_HOME}
/bin:${
env.PATH}
"
  }

  stages {

    stage('Checkout') {
 steps {
 git 'https://github.com/example/perf-test.git' }
 }

    stage('Run JMeter') {

      steps {

        sh 'jmeter -n -t ${
WORKSPACE}
/script/test.jmx -l ${
WORKSPACE}
/result.jtl -j ${
WORKSPACE}
/run.log'
      }

    }

  }

  post {

    always {

      junit '**/result.jtl'                     // 若脚本生成JUnit兼容XML
      publishHTML(target: [reportDir: '**/html', reportFiles: 'index.html', reportName: 'JMeter HTML Report'])
      perfReport '**/result.jtl'                // Performance Plugin
    }

  }

}

  • 示例二 UI 自动化 Pipeline(pytest + Allure)
pipeline {

  agent any
  tools {
 nodejs 'node-18' }
 // 如用npm/webdriver-manager
  stages {

    stage('Checkout') {
 steps {
 git 'https://github.com/example/ui-test.git' }
 }

    stage('Install deps') {
 steps {
 sh 'pip install -r requirements.txt' }
 }

    stage('Run UI Tests') {

      steps {
 sh 'pytest tests/ --alluredir=allure_results --clean-alluredir' }

    }

  }

  post {

    always {
 allure includeProperties: false, jdk: '', results: [[path: 'allure_results']] }

  }

}
    
  • 说明:JMeter 非 GUI 运行使用 -n 参数;JUnit 报告路径需与构建工具输出一致;Allure 需在 Manage Jenkins → Global Tool Configuration 配置 Allure Commandline 安装路径。

三 触发与报告查看

  • 触发方式
    • 源码变更触发:在任务配置选择 “Build when a change is pushed to GitLab/GitHub”,在代码托管平台配置 Webhook(如 GitLab 需生成 Secret Token 并在 Jenkins 任务中填写)。
    • 定时触发:使用 Cron 表达式(如 H/5 * * * * 表示每 5 分钟)实现定时回归。
  • 报告与质量门禁
    • 单元测试:归档 JUnit XML,配置阈值(如失败即阻断)。
    • 性能测试:使用 Performance Plugin 查看聚合图表、阈值与趋势。
    • UI 测试:使用 Allure Report 展示用例、步骤、附件与趋势。
    • 邮件/IM 通知:安装 Email Extension Plugin 等,在构建后动作中配置收件人与内容模板。

四 常见问题与排查

  • Java 环境问题:构建日志出现 JAVA_HOME 未定义 等,建议在 Manage Jenkins → Global Tool Configuration 显式配置 JDK,或在节点/任务级设置环境变量。
  • JMeter 报告为空或路径错误:确认 .jmx 路径、-l 结果文件 与归档路径一致;如使用 HTML 报告,确保生成步骤成功且路径匹配。
  • HTML 报告样式丢失:在 Jenkins 管理 → 脚本控制台 执行 System.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”, “”),临时放宽 CSP(仅测试环境)。
  • 权限与凭据:Git 拉取、SSH 部署、测试平台鉴权等,统一使用 Credentials 管理,避免明文。
  • 分布式压测:JMeter 分布式由 主控机协调,常见做法是将 Jenkins 与主控机 部署在同一台 Linux 服务器以简化网络与权限配置。

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


若转载请注明出处: Linux下Jenkins如何测试
本文地址: https://pptw.com/jishu/763914.html
Jenkins在Linux中如何日志 Jenkins在Linux里怎样部署

游客 回复需填写必要信息