在 Debian 上升级 GitLab,取决于你是通过 Omnibus 包 还是 源码 / Docker 安装的。下面以 最常见的 Omnibus 安装方式 为主说明(官方推荐)。
dpkg -l | grep gitlab
如果看到类似:
gitlab-ee
gitlab-ce
说明是 Omnibus 安装,继续下面步骤。
sudo gitlab-backup create
备份文件默认在:
/var/opt/gitlab/backups/
⚠️ 注意:
sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
sudo cp /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json.bak
cat /opt/gitlab/version-manifest.txt | head -n 1
GitLab 官方源:
sudo apt update
如果之前没加官方源,可重新添加:
curl -fsSL https://packages.gitlab.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/gitlab-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/gitlab-archive-keyring.gpg] \
https://packages.gitlab.com/gitlab/gitlab-ce/debian $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/gitlab_gitlab-ce.list
sudo apt update
sudo apt install gitlab-ce
或 EE 版:
sudo apt install gitlab-ee
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
⚠️ 不能直接跨多个大版本升级
例如:
14.x → 15.x → 16.x
14.0 → 14.10 → 15.0 → 15.11 → 16.x
sudo apt install gitlab-ce=16.0.0-ce.0
查看可用版本:
apt-cache policy gitlab-ce
sudo gitlab-ctl status
sudo gitlab-rake gitlab:check SANITIZE=true
访问 Web 页面确认是否正常。
通常是服务未完全启动:
sudo gitlab-ctl restart
或等待 1–2 分钟。
GitLab 升级需要大量空间:
df -h
建议至少保留 5GB+ 空闲空间。
docker pull gitlab/gitlab-ce:latest
docker stop gitlab
docker rm gitlab
docker run -d \
--name gitlab \
-p 443:443 -p 80:80 \
-v gitlab-config:/etc/gitlab \
-v gitlab-logs:/var/log/gitlab \
-v gitlab-data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
sudo gitlab-backup create
sudo apt update
sudo apt install gitlab-ce
sudo gitlab-ctl reconfigure
如果你愿意,可以告诉我:
我可以给你 精确的升级路径和命令 ✅