温馨提示×

如何升级CentOS上的Jenkins版本

小樊
40
2025-12-25 14:13:29
栏目: 智能运维

升级前准备

  • 备份关键数据与配置:建议完整备份 /var/lib/jenkins(JENKINS_HOME)、/etc/sysconfig/jenkins(服务配置)、以及 /var/log/jenkins(日志)。示例:sudo tar czf jenkins_backup_$(date +%F).tar.gz /var/lib/jenkins /etc/sysconfig/jenkins /var/log/jenkins。升级前在 Jenkins 管理界面记录当前版本,便于回滚与对比。确认要升级到的 LTSWeekly 版本路线,避免混用仓库。检查并准备合适的 Java 运行时(见下一节兼容性)。

Java 与仓库准备

  • 查看与准备 Java:执行 java -version。自 Jenkins 2.164+ 起支持 Java 8 或 Java 11;许多新版本在插件生态上更偏向 Java 11。如需安装 OpenJDK 11:sudo yum install java-11-openjdk-devel -y,必要时用 alternatives --config java 切换默认 Java。
  • 配置官方 YUM 仓库(稳定版 LTS):导入仓库与密钥
    • sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    • sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    • 如遇到证书校验问题可临时使用 --no-check-certificate(不推荐长期使用)。导入后执行 yum repolist 检查仓库可用性。

升级步骤

  • 方式一 RPM 包升级(推荐,平滑)
    1. 检查可用更新:sudo yum check-update jenkins
    2. 执行升级:sudo yum upgrade jenkins -y
    3. 重启服务:sudo systemctl restart jenkins
    4. 验证版本:访问 http://服务器IP:8080,页面底部应显示新版本号。该方式会保留现有配置与数据目录,适合生产环境。
  • 方式二 WAR 包替换(手动,适合特殊场景)
    1. 停止服务:sudo systemctl stop jenkins
    2. 备份并替换 WAR:建议先备份旧 WAR(如 /usr/lib/jenkins/jenkins.war),再下载新 WAR 至程序目录(路径以实际环境为准,常见为 /usr/lib/jenkins//var/lib/jenkins/)。
    3. 启动服务:sudo systemctl start jenkins
    4. 验证版本与日志:访问页面确认版本,必要时查看 /var/log/jenkins/jenkins.logjournalctl -u jenkins.service 排错。

升级后验证与常见问题

  • 版本与插件:登录管理界面确认版本号;如提示插件不兼容,优先升级核心插件,再逐步升级其余插件,必要时在 “安全模式”下操作。
  • Java 与启动问题:若启动失败提示 Java 版本不匹配,按兼容性调整 Java 8/11;若 systemd 启动脚本未找到合适 Java,可在 /etc/init.d/jenkinscandidates 中添加 Java 绝对路径(如 /usr/lib/jvm/java-11-openjdk/bin/java),然后 systemctl daemon-reload 并重启。
  • 仓库与证书:若 yum upgrade 报 GPG 或证书错误,重新导入密钥或临时使用 --nogpgcheck;证书错误时检查系统时间、CA 证书与仓库地址。
  • 依赖与系统库:CentOS 7 上若遇到 SSL/加密库相关报错,考虑安装或启用 openssl11 相关包以匹配新版 Jenkins 依赖。
  • 回滚方案:若升级异常,可快速回滚到备份版本(RPM 方式可 sudo yum downgrade jenkins -y;WAR 方式用备份 WAR 替换并重启),并从备份中恢复 JENKINS_HOME

0