温馨提示×

怎么升级Debian GitLab

小樊
38
2026-08-28 18:19:14
栏目: 智能运维

升级 Debian 上的 GitLab 要看你是用的哪种安装方式,最常见的是 Omnibus GitLab(官方包)。下面我按「最常见场景」一步一步说明,并给出注意事项。


一、确认当前 GitLab 安装方式

dpkg -l | grep gitlab

常见结果:

  • gitlab-eegitlab-ceOmnibus 安装(最常见)
  • ❌ 找不到 → 可能是源码或 Docker 安装

下面默认你是 Omnibus GitLab(Debian 官方包管理)


二、升级前强烈建议做的事 ✅

1️⃣ 备份 GitLab(非常重要)

sudo gitlab-backup create

备份文件默认在:

/var/opt/gitlab/backups/

⚠️ 重要:

  • 不包含配置文件
  • 配置文件单独备份:
sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
sudo cp -r /etc/gitlab/ssl /etc/gitlab/ssl.bak

2️⃣ 查看当前版本

sudo gitlab-rake gitlab:env:info

或:

cat /opt/gitlab/version-manifest.txt | head

三、Omnibus GitLab 升级步骤(推荐)

1️⃣ 更新 APT 源

sudo apt update

2️⃣ 查看可升级版本

apt-cache policy gitlab-ee
# 或
apt-cache policy gitlab-ce

3️⃣ 升级 GitLab

✅ 小版本升级(如 16.1 → 16.5)

sudo apt upgrade gitlab-ee
# 或
sudo apt upgrade gitlab-ce

✅ 跨大版本升级(如 15.x → 16.x)

⚠️ 必须逐级升级(GitLab 官方强制要求)

例如:

15.11 → 16.0 → 16.1 → 16.3

指定版本升级示例:

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

查看可用版本:

apt-cache madison gitlab-ee

4️⃣ 重新配置 GitLab

升级完成后必须执行:

sudo gitlab-ctl reconfigure

5️⃣ 检查状态

sudo gitlab-ctl status

访问 Web 页面确认正常。


四、升级路径(非常重要 ⚠️)

GitLab 不支持跳大版本升级

官方推荐的升级路径:

https://docs.gitlab.com/ee/update/index.html

工具自动生成升级路径:

https://gitlab-upgrade-assistant.netlify.app/


五、常见问题

❓ 升级后 502 / 页面打不开

sudo gitlab-ctl status
sudo gitlab-ctl tail

常见原因:

  • 内存不足(GitLab 至少 4GB)
  • PostgreSQL 未完成迁移

❓ 升级卡住 / 很慢

  • 不要强制中断
  • 查看进程:
ps aux | grep gitlab

六、其他安装方式

✅ Docker GitLab

docker pull gitlab/gitlab-ee:latest

或指定版本:

docker pull gitlab/gitlab-ee:16.3.0-ee.0

✅ Kubernetes(Helm)

helm repo update
helm upgrade gitlab gitlab/gitlab

七、我可以进一步帮你

你可以直接告诉我:

  1. ✅ GitLab 版本
  2. ✅ Debian 版本(cat /etc/os-release
  3. ✅ 安装方式(Omnibus / Docker / 源码)
  4. ✅ 想升级到哪个版本

我可以 给你精确的升级命令和路径,避免踩坑。

0