CentOS 上 GitLab 升级指南
一 升级前准备
sudo gitlab-rake gitlab:backup:create,备份默认位于 /var/opt/gitlab/backups/;如需修改备份目录,可在 /etc/gitlab/gitlab.rb 中设置 gitlab_rails['backup_path'] 后 gitlab-ctl reconfigure 生效。sudo gitlab-rake gitlab:env:info 或 cat /opt/gitlab/version-manifest.txt。sudo yum update 更新系统及依赖,避免后续因依赖过低导致失败。二 标准升级步骤 Omnibus RPM 包
sudo yum makecachesudo yum install gitlab-ce -ysudo yum install gitlab-ce-<version>.rpmsudo rpm -Uvh gitlab-ce-<version>.rpmsudo gitlab-ctl reconfigure && sudo gitlab-ctl restartsudo gitlab-ctl status;cat /opt/gitlab/version-manifest.txt 或管理界面查看版本sudo gitlab-rake gitlab:check三 大版本升级要点与常见坑
Project.where(repository_read_only: true).each { |p| p.update!(repository_read_only: nil) }sudo gitlab-rake gitlab:storage:migrate_to_hashed,并校验 gitlab:storage:list_legacy_projects 为 0。sudo gitlab-ctl pg-upgrade -V 13sudo gitlab-ctl pg-upgrade -V 14gitlab-ctl stop puma四 回滚与验证
gitlab-ctl stop unicorn、gitlab-ctl stop sidekiq),再执行 sudo gitlab-rake gitlab:backup:restore BACKUP=<timestamp>,最后 gitlab-ctl start。注意:备份只能恢复到与其创建时完全相同的版本与类型(CE/EE)。sudo gitlab-ctl status 检查所有组件sudo gitlab-rake gitlab:check 做健康检查