CentOS Jenkins版本升级注意事项
导读:升级前的准备与评估 明确当前部署形态:是 RPM 包(yum) 还是 WAR 包(如 Tomcat 或 java -jar 直接运行),不同形态的升级路径与目录不同。 完整备份:至少备份 JENKINS_HOME(默认 /var/lib/...
升级前的准备与评估
- 明确当前部署形态:是 RPM 包(yum) 还是 WAR 包(如 Tomcat 或
java -jar直接运行),不同形态的升级路径与目录不同。 - 完整备份:至少备份 JENKINS_HOME(默认 /var/lib/jenkins),建议连同 /usr/lib/jenkins/jenkins.war、配置文件(如 /etc/sysconfig/jenkins 或 systemd 服务文件)、以及任何外部脚本/证书。
- 检查 Java 版本 与兼容性:自 Jenkins 2.357 / 2.387.1 LTS(2022-09) 起,最低要求 Java 11;部分新版本(如 2.463+)要求 Java 17+。升级前先确认目标版本要求,避免启动失败。
- 插件与版本跨度评估:跨多个大版本升级时,插件可能存在不兼容,建议先在测试环境验证或在升级前将关键插件升级到兼容版本。
- 变更窗口与回滚预案:选择低峰时段,保留旧 WAR/RPM 与数据库/配置备份,确保可快速回滚。
Java 与运行环境检查
- 确认运行时 Java:
java -version与which java,确保指向期望的 JDK 11/17。 - RPM 包场景:检查 /etc/sysconfig/jenkins 中的 JENKINS_JAVA_CMD 或 JAVA_HOME 是否指向新版本;如使用 alternatives,确认 /usr/bin/java 的软链顺序正确。
- WAR 在 Tomcat 场景:在 $CATALINA_HOME/bin/setclasspath.sh(或 catalina.sh)中显式设置 JAVA_HOME/JRE_HOME 到 Java 11/17,避免 Tomcat 仍使用旧版 Java 8。
- 环境一致性:构建代理节点、容器镜像中的 Java 版本也要同步,避免主控与节点版本不一致导致插件/构建异常。
升级路径与关键步骤
- RPM 包(推荐):执行
sudo yum upgrade jenkins,完成后sudo systemctl restart jenkins,访问 http://:8080 验证版本号与系统状态。 - WAR 包替换:
- Tomcat:停 Tomcat → 备份 $CATALINA_HOME/webapps/ROOT.war 与目录 → 放入新 jenkins.war → 启动 Tomcat。
- java -jar:停止进程 → 备份旧 jenkins.war → 放置新 jenkins.war → 启动。
- 目录差异:常见 WAR 位置包括 /usr/lib/jenkins/jenkins.war(RPM)或 /usr/share/jenkins/jenkins.war;Tomcat 通常为 $CATALINA_HOME/webapps/ROOT.war。
- 升级后自检:查看 Manage Jenkins → System Information 的 Java 版本与 Jenkins 版本,确认插件可用与任务可正常构建。
常见坑与回滚策略
- Java 版本过低导致启动失败或 404:Jenkins 2.357+ / 2.387.1 LTS 需 Java 11;部分新版本需 Java 17+。若升级后异常,优先核对 Java 版本与运行环境指向。
- WAR 替换未生效:可能是下载到了旧包或缓存未更新;建议从官方分发目录下载稳定版,必要时校验 SHA-256,并重启服务后再验证。
- Tomcat 仍用旧 Java:需在 setclasspath.sh 显式设置 JAVA_HOME/JRE_HOME 到 Java 11/17。
- 插件不兼容:跨大版本升级时先升级关键插件或先在测试环境验证;必要时回滚到上一个稳定版本。
- 回滚步骤(示例):
- RPM:
sudo yum downgrade jenkins-< 旧版本>并重启; - WAR:停服务 → 恢复旧 jenkins.war 与 JENKINS_HOME 备份 → 启动;
- 验证版本与任务状态,确认回滚成功。
- RPM:
升级后的验证与优化
- 版本与连通性:登录页面底部核对 Jenkins 版本号,确认 端口 8080 与管理员登录正常。
- Java 与系统信息:在 Manage Jenkins → System Information 检查 java.version、java.home 与关键系统属性。
- 插件健康度:在 Manage Plugins 检查是否有失败或需重启的插件,优先处理核心插件。
- 任务与代理:抽样执行构建与流水线,确认 JNLP/SSH 代理连通与工具链(如 Maven/Git/JDK)路径正确。
- 监控与告警:观察 systemd 日志(
journalctl -u jenkins -f)与构建历史,确保无异常堆栈与频繁重启。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Jenkins版本升级注意事项
本文地址: https://pptw.com/jishu/785991.html
