Jenkins 升级最佳实践指南
基于 Jenkins 2.495 → 2.553 升级实战经验总结
📋 目录
🚨 升级前准备
1. 检查当前状态
1 | # 查看 Jenkins 版本 |
2. 备份(必须!)
1 | # 备份 Jenkins 主目录 |
3. 检查系统要求
Jenkins 2.551+ 要求:
- ✅ Java 21 或 Java 25
- ✅ 内存:至少 2GB
- ✅ 磁盘:至少 10GB 可用空间
检查 Java 版本:
1 | java -version |
升级 Java:
1 | cd /home |
4. 通知团队
- 📧 发送升级通知邮件
- 📅 选择低峰时段(如周末或深夜)
- ⏸️ 暂停正在进行的构建
🚀 升级 Jenkins 核心
方法 1:Jenkins UI 升级(推荐)
Jenkins 管理 → 插件管理 → Updates:
- 点击 Check now (立即检查)
- 找到 Jenkins 核心更新
- 勾选 Jenkins
- 点击 Download now and install after restart
- 勾选 Restart Jenkins when installation is complete
- 点击 Install
- 等待重启(约 5-10 分钟)
优点:
- ✅ 自动处理依赖
- ✅ 安全回滚
- ✅ 图形化界面
方法 2:手动替换 jenkins.war
1 | # 1. 停止 Jenkins |
🔧 升级插件
1. 批量升级所有插件(推荐)
Jenkins 管理 → 插件管理 → Updates:
- 点击 Check now
- 点击 Select all (全选)
- 点击 Download now and install after restart
- 勾选 Restart Jenkins when installation is complete
- 等待重启
优点:
- ✅ 自动解决依赖关系
- ✅ 避免版本冲突
- ✅ 最安全的方式
2. 处理依赖冲突
如果遇到依赖错误:
1 | # 1. 停止 Jenkins |
✅ 升级后验证
1. 检查版本
1 | # 访问 Jenkins Web UI |
2. 检查插件状态
Jenkins 管理 → 插件管理 → Installed:
- ✅ 所有插件状态为 “已启用”
- ✅ 无依赖错误
- ✅ 无警告信息
3. 测试构建
- 选择一个简单任务
- 点击 立即构建
- 查看构建日志
- 确认成功完成
4. 检查日志
1 | # 查看 Jenkins 日志 |
🔧 常见问题与解决方案
问题 1:Java 版本太低
错误信息:
1 | Running with Java 17, which is older than the minimum required version (Java 21) |
解决方案:升级 Java 到 21
问题 2:插件依赖缺失
错误信息:
1 | Plugin is missing: jersey3-api (3.1.11-2.v4a_b_db_cf4557b_) |
解决方案:
- Jenkins UI → 插件管理 → Available plugins
- 搜索
jersey3-api - 安装并重启
问题 3:类加载冲突
错误信息:
1 | java.lang.ClassNotFoundException: org.eclipse.jgit.errors.MissingObjectException |
解决方案:
1 | # 1. 停止 Jenkins |
问题 4:任务配置保存失败
错误信息:
1 | Error while serving .../configSubmit |
解决方案:
- 重启 Jenkins(清除缓存)
- 如果不行,清理插件缓存:
rm -rf /var/jenkins_home/plugins/.cache - 重新安装相关插件
问题 5:Webhook 不触发
解决方案:
- 检查 GitLab Server 配置
- 检查任务触发器
- 检查 GitLab Webhook
- 测试 Webhook
🔙 回滚方案
回滚 Jenkins 核心
1 | # 1. 停止 Jenkins |
回滚插件
1 | # 1. 停止 Jenkins |
📋 升级检查清单
升级前
- 备份 Jenkins 主目录
- 备份 jenkins.war
- 备份插件目录
- 备份任务配置
- 检查 Java 版本(≥ 21)
- 通知团队
- 选择低峰时段
升级中
- 升级 Jenkins 核心
- 等待重启完成
- 升级所有插件
- 等待插件安装完成
升级后
- 检查 Jenkins 版本
- 检查插件状态
- 检查任务配置
- 测试构建
- 检查日志
- 验证 Webhook
📖 参考链接
升级前务必备份!升级时按顺序操作!升级后全面验证!🔥