温馨提示×

centos gitlab怎么升级

小樊
48
2026-08-03 15:42:30
栏目: 智能运维

CentOS 上升级 GitLab,常见有 RPM 升级(最常用)Docker 升级 两种情况。下面按 最常见场景(Omnibus 安装) 给你一个稳妥、可回滚的升级流程。


一、先确认当前安装方式(很重要)

gitlab-ctl status

如果有输出且能正常访问 GitLab,一般是 Omnibus 安装

查看版本:

cat /opt/gitlab/version-manifest.txt | head -5
# 或
gitlab-rake gitlab:env:info

二、升级前必做(强烈建议)

1️⃣ 备份 GitLab(必须)

gitlab-rake gitlab:backup:create

备份文件一般在:

/var/opt/gitlab/backups/

⚠️ 注意

  • 该备份不包含 /etc/gitlab/gitlab.rb
  • 建议额外备份配置:
cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
cp -r /etc/gitlab/ /root/gitlab-config-bak/

2️⃣ 查看当前 CentOS 版本

cat /etc/redhat-release
CentOS 版本 GitLab 支持情况
CentOS 7 ✅ 仍支持(部分新版本 GitLab 已停止)
CentOS 8 ❌ 官方源已失效
CentOS Stream

三、升级方式一(最推荐):RPM 升级

方式 1:使用官方仓库升级(推荐)

1️⃣ 更新 YUM 仓库

yum install -y curl policycoreutils openssh-server

确认 GitLab 仓库存在:

ls /etc/yum.repos.d/gitlab*

如果没有,可重新添加:

curl -fsSL https://packages.gitlab.com/gpg.key | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-gitlab

2️⃣ 升级 GitLab

yum clean all
yum makecache
yum update gitlab-ce

如果是 EE 版:

yum update gitlab-ee

升级完成后会自动执行:

gitlab-ctl reconfigure

方式 2:手动下载 RPM 升级(内网/离线场景)

1️⃣ 查看当前版本:

rpm -qa | grep gitlab

2️⃣ 下载目标版本(示例):

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.7.2-ce.0.el7.x86_64.rpm

3️⃣ 升级:

rpm -Uvh gitlab-ce-16.7.2-ce.0.el7.x86_64.rpm

四、升级后检查

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

访问 Web 页面确认正常。


五、GitLab 升级路径(非常重要)

⚠️ 不能任意跨版本升级

官方推荐路径:

旧版本 → 当前 minor 最新 → 下一个 major 最新

例如:

14.0 → 14.10 → 15.0 → 15.11 → 16.x

查看升级路径:

  • https://docs.gitlab.com/ee/update/index.html
  • https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/

六、Docker 方式升级(如果你用的是 Docker)

docker pull gitlab/gitlab-ce:latest
docker stop gitlab
docker rm gitlab

docker run -d \
  --name gitlab \
  -p 443:443 -p 80:80 -p 22:22 \
  -v gitlab-config:/etc/gitlab \
  -v gitlab-logs:/var/log/gitlab \
  -v gitlab-data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

七、常见坑位

问题 解决
升级后 502 gitlab-ctl reconfigure && gitlab-ctl restart
PostgreSQL 升级失败 确保磁盘空间 > 5G
CentOS 8 无法安装 换 CentOS Stream 或迁移
GitLab 起不来 查看日志 gitlab-ctl tail

八、我可以帮你定制升级方案

你可以直接告诉我:

1️⃣ cat /etc/redhat-release
2️⃣ gitlab-rake gitlab:env:info
3️⃣ 想升级到哪个版本
4️⃣ 是否生产环境

我可以 一步一步给你精确到命令的升级方案,包括回滚方案 ✅

0