阅读量:3
Linux下Jenkins测试实操指南
一 环境准备与安装
- 安装 Java(推荐 OpenJDK 11 或 JDK 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
- Debian/Ubuntu 示例:
- 登录 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) | 安装 pytest、Allure 命令行 | 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 服务器以简化网络与权限配置。
以上就是关于“Linux下Jenkins如何测试”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm