在 Linux 上升级 GitLab 版本,通常分为 Omnibus 安装(官方包)、Docker 安装 和 源码安装 三种情况。下面以最常见的 Omnibus(rpm/deb)方式为主说明,并补充其他方式。
# 查看当前版本
gitlab-rake gitlab:env:info
# 备份(必须做)
gitlab-rake gitlab:backup:create
同时备份配置文件:
cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
cp -R /etc/gitlab/ssl /etc/gitlab/ssl.bak # 如有
⚠️ GitLab 不支持跨大版本直接升级
例如:14.x → 16.x 必须依次升级
14 → 15 → 16
sudo apt update
sudo apt install gitlab-ee # 或 gitlab-ce
CentOS / RHEL:
sudo yum update
sudo yum install gitlab-ee
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true
docker exec -it gitlab gitlab-rake gitlab:env:info
docker pull gitlab/gitlab-ee:16.x.x
docker stop gitlab
docker rm gitlab
docker run -d \
--name gitlab \
-p 443:443 -p 80:80 -p 22:22 \
-v /srv/gitlab/config:/etc/gitlab \
-v /srv/gitlab/logs:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ee:16.x.x
数据卷不变即可保留数据
官方升级路径工具:
https://docs.gitlab.com/ee/update/
常见示意:
13.12 → 14.0 → 14.9 → 15.0 → 15.11 → 16.0 → 16.x
gitlab-ctl restart
gitlab-rake db:migrate
只能从备份恢复:
gitlab-rake gitlab:backup:restore BACKUP=时间戳
如果你能告诉我:
我可以给你精确升级步骤。