一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

ubuntu gitlab如何升级版本

时间:2026-08-06 07:18:56 编辑:袖梨 来源:一聚教程网

Ubuntu 上升级 GitLab 版本的标准流程

ubuntu gitlab如何升级版本

一 升级前准备

  1. 确认当前版本与升级目标
    1. 查看版本:
      1. 命令:sudo gitlab-rake gitlab:env:infocat /opt/gitlab/embedded/service/gitlab-rails/VERSION
      2. 浏览器访问:https://你的域名或IP/help
    2. 查看可升级版本:apt policy gitlab-ceapt policy gitlab-ee(显示 Installed 与 Candidate)。
  2. 核对升级路径
    1. 多数版本不支持跨大版本直接升级,需要按官方路径逐级升级;可使用官方升级路径工具校验:https://gitlab.cn/support/toolbox/upgrade-path/。
  3. 完整备份与回滚方案
    1. 备份:sudo gitlab-rake gitlab:backup:create(默认备份到 /var/opt/gitlab/backups)。
    2. 建议同时做系统快照/关机快照,便于回滚。
  4. 维护窗口与通知
    1. 升级期间会重启服务,建议安排在低峰期并提前通知用户。
  5. 检查可用资源
    1. 确保磁盘空间充足、内存建议≥4GB,避免因资源不足导致 reconfigure 或迁移失败。

二 标准升级步骤

  1. 更新索引与仓库(CE/EE 二选一)
    1. CE:sudo apt update && sudo apt install --download-only gitlab-ce
    2. EE:sudo apt update && sudo apt install --download-only gitlab-ee
  2. 执行升级
    1. 直接升级到仓库最新版:sudo apt install gitlab-ce(或 gitlab-ee)。
    2. 指定版本(示例):sudo apt install gitlab-ce=15.11.0-ce.0(或 gitlab-ee=15.11.0-ee.0)。
  3. 重新配置与重启
    1. sudo gitlab-ctl reconfigure
    2. sudo gitlab-ctl restart
  4. 验证
    1. 版本:sudo gitlab-rake gitlab:env:info 或访问 /help 页面。
    2. 服务状态:sudo gitlab-ctl status

三 跨大版本与数据库升级要点

  1. 严格按升级路径逐级进行
    1. 例如历史版本常见路径包含:8.11.Z → 8.12.0 → 8.17.7 → 9.5.10 → 10.8.7 → 11.11.8 → 12.0.12 → 12.1.17 → 12.10.14 → 13.0.14 → 13.1.11 → 13.8.8 → 13.12.15 → 14.0.12 → 14.Y.Z。
  2. 升级前在每个台阶验证功能正常后再继续下一步。
  3. 数据库版本要求
    1. 某些大版本对内置 PostgreSQL 有硬性要求。例如升级到 GitLab 18.0 需要 PostgreSQL 16.x。
    2. 若不满足,先在同大版本内升级到最新小版本(如 17.11.x),再使用 sudo gitlab-ctl pg-upgrade 升级数据库,最后升级到目标版本。
  4. 升级失败快速回滚
    1. 先恢复最近备份(注意备份与恢复两端的 GitLab 版本需一致,包含数据库版本):
      1. 恢复:sudo gitlab-rake gitlab:backup:restore BACKUP=时间戳
    2. 或使用升级前的系统快照回滚。

四 常见问题与排查

  1. 升级命令报错(如 dpkg 预安装脚本失败)
    1. 多因数据库版本不满足新版本要求。先在同大版本内升级到最新小版本,完成 gitlab-ctl pg-upgrade 后再升级目标版本。
  2. 配置文件变更导致 reconfigure 失败
    1. 例如旧写法 git_data_dir 已在 11.0 移除,需改为:
      1. git_data_dirs({ "default" => { "path" => "/data/git" } })
  3. 升级后页面 500 或健康检查失败
    1. 查看日志:sudo gitlab-ctl tail;确认数据库迁移是否完成、资源是否充足、备份恢复是否一致。
  4. 升级耗时较长或 SSH 易断
    1. 建议使用带界面的终端或 screen/tmux 会话,避免网络中断导致升级中断。

五 建议的升级顺序清单

  1. 备份与回滚方案就绪(含系统快照)。
  2. 核对当前版本与目标版本,并用官方工具校验升级路径。
  3. 逐台阶升级:同大版本内先到最新小版本 → 满足数据库前置条件 → 再跨到下一个大版本。
  4. 每台阶执行:reconfigurerestartstatus 与功能验证。
  5. 生产环境先在测试环境演练,确认无误再上线。

热门栏目