温馨提示×

Debian GitLab怎么升级

小樊
38
2026-08-02 10:27:11
栏目: 智能运维

这里需要区分一个关键点:你指的是“Debian 系统本身”还是“在 Debian 上运行的 GitLab (通常是 Omnibus 包)”?

绝大多数情况下,大家问这个问题是指 升级运行在 Debian 上的 GitLab 软件本身

以下分别说明两种情况的操作步骤。


情况一:升级 GitLab (在 Debian 上)

GitLab 官方推荐在 Debian 上使用 Omnibus 包 进行安装和升级。这是最安全、最标准的做法。

1. 升级前必做:备份

警告:升级前务必备份! 尤其是数据库和 Git 仓库。

sudo gitlab-backup create

注意:这个命令不会备份配置文件(如 gitlab.rbsecrets.json),你需要手动备份它们:

sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
sudo cp /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json.bak

2. 确认当前版本

查看你当前的 GitLab 版本,以便规划升级路径(特别是跨大版本升级时)。

sudo gitlab-rake gitlab:env:info

3. 更新 Debian 的包索引

sudo apt update

4. 升级 GitLab

  • 升级到最新版:

    sudo apt install gitlab-ee  # 如果是企业版
    # 或者
    sudo apt install gitlab-ce  # 如果是社区版
    
  • 升级到指定版本(推荐用于跨大版本升级): GitLab 不支持直接跨多个大版本升级(例如从 14.x 直接跳到 16.x)。你必须按版本顺序升级(例如 14.0 -> 14.10 -> 15.0 -> 15.11 -> 16.0)。

    你需要先修改 /etc/apt/sources.list.d/gitlab_gitlab-ee.list (或 ce) 中的版本号,或者指定版本安装:

    sudo apt install gitlab-ee=16.0.0-ee.0
    

    (请务必参考 GitLab 官方的 升级路径工具 来确定你需要经过哪些版本)

5. 重新配置并重启

安装完新包后,必须运行 reconfigure:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

6. 检查状态

sudo gitlab-ctl status
sudo gitlab-rake gitlab:check SANITIZE=true

情况二:升级 Debian 操作系统

如果你是指把 Debian 10 (Buster) 升级到 Debian 11 (Bullseye),或者升级 Debian 的小版本。

1. 备份

同上,先备份 GitLab 数据。

2. 修改源列表

/etc/apt/sources.list 以及 /etc/apt/sources.list.d/ 下的文件中的版本代号(如 buster)改为新的代号(如 bullseye)。

3. 更新并升级

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade

4. 处理 GitLab 源

升级完系统后,GitLab 的 APT 源可能失效或需要更新。检查 /etc/apt/sources.list.d/gitlab_gitlab-ee.list。 确保它指向的是当前 Debian 版本的源。例如: deb https://packages.gitlab.com/gitlab/gitlab-ee/debian/ bullseye main

5. 修复 GitLab

如果 GitLab 因为系统库升级而报错,尝试重新安装:

sudo apt install --reinstall gitlab-ee
sudo gitlab-ctl reconfigure

常见坑与建议

  1. 升级路径 (Upgrade Path): 这是最常见的问题。GitLab 必须按特定顺序升级。例如,如果你在 13.x,不能直接装 15.x。请务必查阅 GitLab Upgrade Path
  2. 磁盘空间: 升级过程会下载大量包并解压,确保 /var/cache/apt/opt/gitlab 有足够的空间(建议至少预留 5GB-10GB)。
  3. 内存: 编译资产(Assets)时非常消耗内存,如果内存小于 4GB,建议临时增加 Swap 分区,否则升级可能卡死。
  4. 服务中断: 升级期间 GitLab 服务会重启,属于计划内停机。

总结: 如果你只是想更新 GitLab 软件,请使用 sudo apt update && sudo apt install gitlab-ee (或 ce)。如果涉及跨大版本,请务必按官方路径一步步来。

0