在 Debian 上升级 GitLab,通常取决于你是用 Omnibus 包(官方推荐) 还是 源码/容器 安装的。下面以最常见的 Omnibus 安装方式为例说明。
sudo gitlab-rake gitlab:env:info
或
cat /opt/gitlab/version-manifest.txt
sudo gitlab-rake gitlab:backup:create
配置文件也要备份:
sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
sudo cp -R /etc/gitlab/ssl /etc/gitlab/ssl.bak # 如果有
GitLab 不能跨大版本直接升级,例如:
15.x → 16.x → 17.x
参考官方升级路径工具: https://docs.gitlab.com/ee/update/index.html#upgrade-paths
sudo apt update
sudo apt install gitlab-ee # 企业版
# 或
sudo apt install gitlab-ce # 社区版
如果版本跨度较大,apt 会直接装最新版,可能不符合升级路径,需手动指定版本。
例如从 16.0.0 升级到 16.11.0:
sudo apt install gitlab-ee=16.11.0-ee.0
或社区版:
sudo apt install gitlab-ce=16.11.0-ce.0
升级后执行:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check
访问 Web 页面确认版本号。
GitLab 会自带 PG,不要手动升级系统 PG。
sudo gitlab-ctl status
sudo gitlab-ctl tail
必须逐级升级 major 版本,否则数据库迁移会失败。
如果你愿意,可以告诉我:
我可以给你精确到版本的升级命令。