温馨提示×

如何在Ubuntu上升级Jenkins部署

小樊
55
2025-10-03 21:18:57
栏目: 智能运维

如何在Ubuntu上升级Jenkins部署

一、升级前准备工作

  1. 备份关键数据:升级前务必备份Jenkins配置与作业数据,避免升级失败导致数据丢失。主要备份以下内容:
    • Jenkins主目录:/var/lib/jenkins(包含作业配置、构建历史、用户数据等核心信息);
    • Jenkins配置文件:/etc/default/jenkins(服务配置)、/etc/sysconfig/jenkins(部分系统配置);
    • 初始管理员密码(若未修改):/var/lib/jenkins/secrets/initialAdminPassword
  2. 检查系统与Java环境
    • 更新Ubuntu系统至最新状态:运行sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y
    • 确认Java版本兼容性:从Jenkins 2.346.3版本开始,必须使用JDK 11及以上(JDK 8已不再支持)。通过java -version检查当前Java版本,若未满足要求,可通过sudo apt install openjdk-11-jdk安装JDK 11。

二、通过官方PPA源升级(推荐方法,适用于大多数场景)

  1. 添加Jenkins官方PPA
    运行以下命令添加Jenkins稳定版PPA,确保获取官方支持的最新版本:
    wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
    sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
    
  2. 更新包索引并升级Jenkins
    sudo apt update  # 更新本地包索引,获取PPA中的最新版本信息
    sudo apt install jenkins -y  # 自动升级至PPA中的最新稳定版
    
  3. 重启Jenkins服务并验证状态
    sudo systemctl restart jenkins  # 重启Jenkins服务使升级生效
    sudo systemctl status jenkins  # 检查服务状态(显示“active (running)”即为成功)
    

三、手动下载WAR包升级(适用于特定版本或自定义部署)

  1. 下载新版本WAR文件
    访问Jenkins官网(https://www.jenkins.io/download/),选择与系统架构匹配的最新WAR文件(如jenkins.war),下载至服务器本地目录(如/tmp)。
  2. 备份并替换旧版WAR文件
    sudo cp /usr/share/jenkins/jenkins.war /usr/share/jenkins/jenkins.war.bak  # 备份旧版WAR
    sudo rm /usr/share/jenkins/jenkins.war  # 删除旧版WAR
    sudo cp /tmp/jenkins.war /usr/share/jenkins/  # 复制新版WAR至原路径
    
  3. 重启Jenkins服务
    • 若通过系统服务运行:sudo systemctl restart jenkins
    • 若通过Docker容器运行:docker restart jenkins(需提前将WAR文件挂载至容器内正确路径)。

四、升级后配置调整

  1. 重新解锁Jenkins
    首次访问升级后的Jenkins Web界面(http://<服务器IP>:8080),需输入初始管理员密码(位于/var/lib/jenkins/secrets/initialAdminPassword),通过网页解锁。
  2. 更新插件
    登录后进入“系统管理”→“插件管理”,点击“推荐插件”选项卡,安装或更新推荐的插件(如Git、Pipeline等),确保插件与新版本兼容。

注意事项

  • 版本兼容性:跨多个大版本升级(如从2.x升级至3.x)时,建议先升级至中间小版本(如2.346.3→2.350→3.0),避免因依赖冲突导致升级失败;
  • 依赖检查:升级前可通过apt-cache depends jenkins查看Jenkins依赖,确保所有依赖包均为最新版本;
  • 回滚方案:若升级后出现问题,可通过备份的jenkins.war.bak恢复旧版本,或还原/var/lib/jenkins目录的数据。

0