怎样升级centos上的jenkins版本
导读:升级前准备 备份关键数据:建议完整备份 JENKINS_HOME(默认 /var/lib/jenkins) 与关键配置,例如: sudo cp -a /var/lib/jenkins /var/lib/jenkins_backup_$(d...
升级前准备
- 备份关键数据:建议完整备份 JENKINS_HOME(默认 /var/lib/jenkins) 与关键配置,例如:
sudo cp -a /var/lib/jenkins /var/lib/jenkins_backup_$(date +%F)
同时保留一份当前 Jenkins WAR 包的备份(见下文各方案)。 - 检查并准备 Java:确认版本满足目标 Jenkins 的要求(很多新版本需要 Java 11 或 Java 17)。示例:
java -version
sudo yum install -y java-11-openjdk-devel # 或 java-17-openjdk-devel - 查看当前版本:在 Jenkins 管理页面底部可见版本号,或执行:
sudo systemctl status jenkins | grep -i version - 可选优化:升级前先在“插件管理”把可升级的插件更新到最新,减少版本不兼容风险。
升级方案
-
方案A(推荐,使用 YUM 仓库,适用于 rpm 包安装)
- 更新软件包索引并升级:
sudo yum update -y jenkins - 重启服务:
sudo systemctl restart jenkins - 验证:访问 http://服务器IP:8080,在页面底部确认新版本号。
说明:这是最简便、可回滚的方式,适合大多数通过官方仓库安装的实例。
- 更新软件包索引并升级:
-
方案B(WAR 包部署,替换 /usr/share/jenkins/jenkins.war)
- 停止服务:
sudo systemctl stop jenkins - 备份旧 WAR:
sudo cp /usr/share/jenkins/jenkins.war /usr/share/jenkins/jenkins.war.bak_$(date +%F) - 下载新 WAR(示例为稳定版仓库,请替换为最新链接):
sudo wget -O /usr/share/jenkins/jenkins.war https://pkg.jenkins.io/redhat-stable/jenkins.war - 启动服务:
sudo systemctl start jenkins - 验证版本并观察日志:
sudo systemctl status jenkins
sudo journalctl -u jenkins -b --no-pager -n 200
说明:适用于直接以 WAR 运行的实例;路径以实际环境为准(可用 find / -name jenkins.war 确认)。
- 停止服务:
-
方案C(WAR 包部署,使用 Systemd 与自定义工作目录)
- 停止服务:
sudo systemctl stop jenkins - 备份主目录:
sudo cp -a /var/lib/jenkins /var/lib/jenkins_backup_$(date +%F) - 准备目录与权限:
sudo mkdir -p /var/lib/jenkins
sudo chown -R jenkins:jenkins /var/lib/jenkins - 下载新 WAR 至工作目录:
sudo wget -O /var/lib/jenkins/jenkins.war https://pkg.jenkins.io/redhat-stable/jenkins.war - 配置 Systemd 服务(若不存在则新建 /etc/systemd/system/jenkins.service):
sudo tee /etc/systemd/system/jenkins.service > /dev/null < < ‘EOF’ [Unit] Description=Jenkins After=syslog.target network.target
[Service] User=jenkins Group=jenkins WorkingDirectory=/var/lib/jenkins ExecStart=/usr/bin/java -Djava.awt.headless=true -jar /var/lib/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080 Restart=always
[Install] WantedBy=multi-user.target EOF
6) 重新加载并启动:
sudo systemctl daemon-reload
sudo systemctl start jenkins
sudo systemctl enable jenkins
7) 验证版本与日志:
curl -I http://localhost:8080 | grep -i x-jenkins
sudo journalctl -u jenkins -b --no-pager -n 200
说明:此方式将 WAR 与数据目录解耦,便于升级与迁移。 - 停止服务:
升级后验证与回滚
- 验证要点
- 在 Manage Jenkins → System Information 或页面底部确认 Jenkins 版本号已更新。
- 查看系统日志是否有异常:
sudo journalctl -u jenkins -b --no-pager -n 200 - 抽查关键任务与 插件是否正常加载。
- 常见回滚
- YUM 方案:
sudo yum downgrade -y jenkins - WAR 方案:将备份的 jenkins.war 拷回原路径并重启:
sudo systemctl stop jenkins
sudo cp /usr/share/jenkins/jenkins.war.bak_YYYY-MM-DD /usr/share/jenkins/jenkins.war # 路径以实际为准
sudo systemctl start jenkins
- YUM 方案:
- 注意事项
- 升级前务必完成 备份;升级后优先检查 插件兼容性 与 Java 版本是否满足新版本要求。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样升级centos上的jenkins版本
本文地址: https://pptw.com/jishu/756578.html
