温馨提示×

gitlab linux如何升级

小樊
47
2026-09-16 15:56:10
栏目: 智能运维

下面给你一份在 Linux 上升级 GitLab 的通用、安全做法,覆盖最常见的 Omnibus(官方包) 方式。如果你用的是 Docker 或源码安装,我也可以单独说。


一、升级前必做(非常重要)

1. 查看当前版本

sudo gitlab-rake gitlab:env:info

或

cat /opt/gitlab/version-manifest.txt

2. 备份(必须)

sudo gitlab-rake gitlab:backup:create

备份文件默认在:

/var/opt/gitlab/backups/

⚠️ 还要备份 /etc/gitlab/ 和 /var/opt/gitlab/

sudo tar czf gitlab-config-$(date +%F).tar.gz /etc/gitlab

二、确认升级路径(关键)

GitLab 不能跨大版本直接升(如 14 → 16 不行)

✅ 正确路径示例:

14.0 → 14.10 → 15.0 → 15.11 → 16.0 → 16.x

官方升级路径工具: https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/


三、Omnibus 包升级(最常用)

1. 停止无关服务(可选)

sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq

2. 更新包源

sudo apt update        # Debian / Ubuntu
sudo yum check-update  # CentOS / RHEL

3. 升级 GitLab

sudo apt install gitlab-ee   # 或 gitlab-ce

或指定版本:

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

4. 重新配置

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

四、升级后检查

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

访问 Web 页面确认正常。


五、Docker 方式(简略)

docker pull gitlab/gitlab-ee:16.0.0-ee.0
docker stop gitlab
docker rm gitlab
docker run --name gitlab ...(同原参数)

数据卷不要删


六、常见坑

  • ❌ 直接跨版本升级 → 数据库损坏
  • ❌ 不备份就升级
  • ❌ 升级中断电 / 强杀进程
  • ✅ 小版本先升,再跨大版本

如果你告诉我:

  • 系统(CentOS / Ubuntu?)
  • GitLab 版本(当前 → 目标)
  • 安装方式(Omnibus / Docker / 源码)

我可以给你精确到命令的升级步骤。

0 踩