Linux下Jenkins如何测试
导读:Linux下Jenkins测试实操指南 一 环境准备与安装 安装 Java(推荐 OpenJDK 11 或 JDK 8),并配置环境变量(如 JAVA_HOME)。 安装并启动 Jenkins: Debian/Ubuntu 示例: 添...
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 服务器以简化网络与权限配置。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux下Jenkins如何测试
本文地址: https://pptw.com/jishu/763914.html
