在 CentOS 上升级 GitLab 通常有两种情况:Omnibus 安装方式(官方推荐) 和 RPM 包方式。下面以 最常见、最安全的 Omnibus 方式 为例,给你一个完整、可操作的升级流程。
gitlab-ctl status
如果能正常显示服务状态,说明是 Omnibus 安装方式,可以继续下面的步骤。
gitlab-backup create
备份文件默认在:
/var/opt/gitlab/backups/
⚠️ 注意:
cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
cp /etc/gitlab/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json.bak
gitlab-rake gitlab:env:info
# 或
cat /opt/gitlab/version-manifest.txt
GitLab 官方源:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | bash
如果是 CE 社区版:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
CE 版本:
yum install gitlab-ce -y
EE 版本:
yum install gitlab-ee -y
如果提示版本冲突,可先执行:
yum clean all
gitlab-ctl reconfigure
gitlab-ctl restart
⚠️ GitLab 不支持跨多个大版本直接升级
14.0 → 14.10 → 15.0 → 15.11 → 16.x
yum install gitlab-ce-15.11.13 -y
gitlab-ctl reconfigure
查看可用版本:
yum --showduplicates list gitlab-ce
gitlab-ctl status
gitlab-rake gitlab:check SANITIZE=true
访问 Web 页面确认是否正常。
gitlab-ctl restart
gitlab-ctl tail
gitlab-ctl pg-upgrade
如果你使用的是 CentOS 7/8(已 EOL):
✅ 建议:
你可以直接把下面信息发我,我可以给你精确升级方案:
cat /etc/redhat-release
gitlab-rake gitlab:env:info
是否需要 CE / EE?
是否要 跨大版本升级?