debian jenkins部署后如何测试
导读:Debian 上部署 Jenkins 后的验证与测试清单 一 连通性与服务健康检查 服务状态与端口 确认服务已启动并开机自启:sudo systemctl status jenkins(期望状态:active (running ;如未启...
Debian 上部署 Jenkins 后的验证与测试清单
一 连通性与服务健康检查
- 服务状态与端口
- 确认服务已启动并开机自启:sudo systemctl status jenkins(期望状态:active (running);如未启动:sudo systemctl start jenkins & & sudo systemctl enable jenkins)。
- 检查端口监听:ss -ltnp | grep :8080(应看到 0.0.0.0:8080 或 :::8080 处于监听)。
- 访问与解锁
- 浏览器访问:http://< 服务器IP> :8080。
- 首次解锁密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword,完成管理员账户设置。
- 反向代理与防火墙(如启用)
- Nginx/Apache 反向代理示例(Nginx):
- 配置 location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
- UFW 放行:sudo ufw allow 8080/tcp;云主机安全组同样需放行 8080 端口。
- Nginx/Apache 反向代理示例(Nginx):
二 核心功能冒烟测试
- 插件安装
- 进入 Manage Jenkins → Manage Plugins,安装常用插件:Git、Pipeline、JUnit、HTML Publisher、Email Extension(按需补充 Maven Integration、NodeJS、Docker、Kubernetes CLI、Credentials Binding 等)。
- Freestyle 任务验证
- 新建任务 → 选择 Freestyle project → 源码管理选 Git 填入仓库 URL。
- 构建步骤示例:
- Shell:echo “Hello, Jenkins”; python -m pytest tests/ --maxfail=1 -q || true
- Maven:mvn clean test
- 构建后操作添加:
- Publish JUnit test result report(如:target/surefire-reports/*.xml 或 reports/*.xml)
- Publish HTML reports(如:report.html)
- 立即构建,确认:
- 控制台日志无异常退出码(非 0 需排查)
- 生成并可在项目页面打开 JUnit 与 HTML 报告
- 如配置了 Email Extension,可验证构建结果邮件通知
- Pipeline 任务验证
- 新建任务 → 选择 Pipeline → 方式选 Pipeline script from SCM(指定仓库与 Jenkinsfile)。
- 示例 Jenkinsfile(按项目替换命令与报告路径):
- pipeline {
- agent any
- stages {
- stage(‘Checkout’) { steps { git ‘https://github.com/your/repo.git’ } }
- stage(‘Install’) { steps { sh ‘pip install -r requirements.txt’ } }
- stage(‘Test’) { steps { sh ‘pytest tests/ --html=report.html --self-contained-html’ } }
- }
- post {
- always { junit ‘**/target/surefire-reports/*.xml’ } // Maven 示例
- always { publishHTML([reportDir: ‘.’, reportFiles: ‘report.html’, reportName: ‘HTML Report’]) }
- failure { emailext subject: ‘构建失败: ${ BUILD_STATUS} ’, body: ‘详情: ${ BUILD_URL} ’, to: ‘team@example.com’ }
- }
- }
- pipeline {
三 典型测试场景与命令示例
| 场景 | 关键命令或插件 | 报告与产物 |
|---|---|---|
| Java + Maven 单元测试 | mvn clean test | target/surefire-reports/*.xml → JUnit 报告 |
| Python + Pytest | pytest tests/ --html=report.html | report.html → HTML Publisher;JUnit XML 需 pytest 插件生成 |
| API 自动化(Postman/Newman) | newman run collection.json -r junit,html | JUnit/HTML 报告 |
| UI 自动化(Selenium) | mvn test -Dtest=TestSuite 或 pytest | Allure/HTML 报告(需 Allure 插件与命令行) |
| 性能测试(JMeter) | jmeter -n -t test.jmx -l result.jtl | result.jtl → 可用插件或脚本转换为 HTML 报表 |
| Node.js 项目 | 配置 NodeJS Plugin,执行 npm install & & npm test | 结合 JUnit/HTML 报告插件收集结果 |
四 持续集成与质量门禁
- 触发策略
- SCM 轮询:在任务配置中设置 Poll SCM(如:**H/5 * * * *** 每 5 分钟检查一次变更)。
- Webhook:在 Git 仓库(GitHub/GitLab/Gitee)配置 Push/PR 事件 Webhook 指向 http://< JENKINS_URL> /github-webhook/(需 CSRF 保护与正确权限)。
- 质量门禁与通知
- 质量门禁:在 Freestyle 的 Post-build Actions 或 Pipeline 的 post 中,基于 JUnit 结果设置构建状态(如失败即阻断)。
- 通知:使用 Email Extension 或企业 IM 插件(如企业微信/钉钉)在 failure/success/always 阶段发送通知。
五 常见故障排查要点
- 权限与路径
- 工作空间与报告目录对 jenkins 用户可读写;报告路径与构建步骤输出保持一致。
- Java 与工具链
- 使用 openjdk-11-jdk;在 Manage Jenkins → Global Tool Configuration 正确配置 JDK/Git/Python/NodeJS 路径(或启用自动安装)。
- 报告不显示
- JUnit:确认测试框架生成了 XML 报告且路径匹配;HTML:安装 HTML Publisher 并在构建后操作中指定正确 report.html。
- 构建卡住或无日志
- 检查 控制台输出;确认代理/节点可用;排查命令交互(如缺少 -y、等待输入等)。
- 插件与依赖
- 插件冲突或版本不兼容时,先备份 /var/lib/jenkins 后逐个回退/升级;必要时重装插件。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: debian jenkins部署后如何测试
本文地址: https://pptw.com/jishu/748573.html
