Ubuntu 上升级 Jenkins 的实用步骤
一 升级前准备
- 备份关键数据:建议完整备份 JENKINS_HOME(默认 /var/lib/jenkins) 与配置文件目录(如 /etc/default/jenkins),命令示例:
- 备份数据:sudo cp -a /var/lib/jenkins /var/lib/jenkins_backup_$(date +%F)
- 备份配置:sudo cp -a /etc/default/jenkins /etc/default/jenkins.bak_$(date +%F)
- 检查并准备 Java:执行 java -version;从 Jenkins 2.346.3 起需要 JDK 11+,推荐 JDK 17。如需安装与切换:
- 安装:sudo apt-get update && sudo apt-get install openjdk-17-jdk
- 切换默认 Java:sudo update-alternatives --config java
- 确认安装方式:常见为 APT 包管理 或 WAR 包运行(位置可能为 /usr/share/jenkins/jenkins.war 或 /usr/lib/jenkins/jenkins.war)。如在 Docker 中运行,请准备重启容器。
二 通过 APT 官方仓库升级(推荐)
- 导入官方 GPG 并添加 Jenkins 官方 Debian 仓库(若已添加可跳过):
- wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
- echo “deb https://pkg.jenkins.io/debian-stable binary/” | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
- 执行升级:
- 更新索引:sudo apt-get update
- 升级软件包:sudo apt-get install --only-upgrade jenkins
- 如需安装指定版本:apt-cache madison jenkins 查看可用版本,然后 sudo apt-get install jenkins=
- 重启服务:sudo systemctl restart jenkins
- 验证:访问 http://服务器IP:8080,在 Manage Jenkins > System Information 查看 jenkins.version。
三 通过 WAR 包替换升级(适用于非 APT 安装或容器)
- 定位并备份 jenkins.war:
- 常见路径:/usr/share/jenkins/jenkins.war 或 /usr/lib/jenkins/jenkins.war
- 备份:sudo cp /usr/share/jenkins/jenkins.war /usr/share/jenkins/jenkins.war.bak_$(date +%F)
- 下载新版本 Jenkins WAR(建议 LTS):
- 示例:wget https://get.jenkins.io/war-stable/latest/jenkins.war -O /tmp/jenkins.war
- 替换并重启:
- 替换:sudo cp /tmp/jenkins.war /usr/share/jenkins/jenkins.war
- 重启:
- 系统服务:sudo systemctl restart jenkins
- Docker:docker restart <jenkins_container>
- 验证:访问 Manage Jenkins > System Information 检查 jenkins.version。
四 升级后验证与回滚
- 快速验证:
- 版本:在 Manage Jenkins > System Information 查看 jenkins.version
- 日志:查看 /var/log/jenkins/jenkins.log 是否有异常
- 插件:进入 Manage Jenkins > Manage Plugins 检查是否有需重启或兼容性提示
- 回滚方案:
- APT:sudo apt-get install jenkins=<旧版本号>
- WAR:将备份的 jenkins.war.bak 拷回原路径并重启服务
- 常见问题处理:
- 端口被占用:检查 /etc/default/jenkins 中的 JENKINS_PORT,或查看是否被其他进程占用
- Java 不兼容:确认使用 JDK 11+(推荐 JDK 17),必要时切换默认 Java 后重启。