在 CentOS 上升级 GitLab(通常指 Omnibus 安装的 GitLab)一般按下面步骤来。请先确认你是 Omnibus 安装(最常见),而不是源码或 Docker 安装。
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
# 或
gitlab-rake gitlab:env:info
gitlab-rake gitlab:backup:create
备份文件默认在:
/var/opt/gitlab/backups/
同时也建议备份配置文件:
cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
cp -r /etc/gitlab/ssl /etc/gitlab/ssl.bak # 如有
⚠️ GitLab 不能跨大版本直接升 例如:
官方升级路径工具: https://docs.gitlab.com/ee/update/#upgrade-paths
vim /etc/yum.repos.d/gitlab_gitlab-ee.repo
# 或 gitlab-ce.repo
常见内容(示例):
[gitlab-ce]
name=GitLab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
gpgcheck=0
enabled=1
CentOS 7 用
el7,CentOS 8 用el8
yum clean all
yum makecache
例如升级到 15.11.0:
yum install gitlab-ce-15.11.0-ce.0.el7
或升级到最新:
yum update gitlab-ce
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-ctl status
gitlab-rake gitlab:check SANITIZE=true
例如当前是 13.12.0:
yum install gitlab-ce-13.12.15-ce.0.el7
gitlab-ctl reconfigure
yum install gitlab-ce-14.0.12-ce.0.el7
gitlab-ctl reconfigure
yum install gitlab-ce-14.10.5-ce.0.el7
gitlab-ctl reconfigure
yum install gitlab-ce-15.0.5-ce.0.el7
gitlab-ctl reconfigure
yum install gitlab-ce-15.11.0-ce.0.el7
gitlab-ctl reconfigure
gitlab-ctl tail
gitlab-rake db:migrate
至少预留 GitLab 数据大小 × 2 的空间
docker pull gitlab/gitlab-ce:15.11.0-ce.0
docker stop gitlab
docker rm gitlab
# 用相同 volumes 启动
如果你愿意,可以告诉我:
我可以给你 精确到版本的升级命令。