一、升级前的准备工作
sudo gitlab-rake gitlab:backup:create。备份完成后,检查/var/opt/gitlab/backups/目录下的备份文件是否生成(文件名格式为时间戳_版本号_gitlab_backup.tar)。sudo gitlab-rake gitlab:env:info查看当前GitLab版本(如15.11.0)。访问GitLab官方升级路径工具(如版本升级指南),确认从当前版本到目标版本需经过的中间版本(例如从15.11.0升级到16.11.0,可能需先升级到16.0.0)。禁止跨主要版本直接升级(如15.x→17.x)。policycoreutils-python openssh-server openssh-clients postfix;Ubuntu需curl openssh-server ca-certificates)。二、具体升级步骤(以Omnibus安装为例)
sudo gitlab-ctl stop unicorn && sudo gitlab-ctl stop sidekiq && sudo gitlab-ctl stop nginx。sudo apt updatesudo yum makecache。sudo apt install gitlab-ce(自动安装最新版本)。wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-16.11.10-ce.0.el7.x86_64.rpm)。md5sum gitlab-ce-*.rpm,对比官方提供的MD5值)。sudo rpm -Uvh gitlab-ce-*.rpm。sudo gitlab-ctl reconfigure应用新配置(如/etc/gitlab/gitlab.rb中的修改),然后重启服务:sudo gitlab-ctl restart。三、验证升级结果
sudo gitlab-rake gitlab:env:info,确认gitlab-rails/VERSION显示为目标版本(如16.11.0)。http://your-server-ip),登录后查看“Help”→“About GitLab”,确认版本已更新。sudo gitlab-ctl status,确保所有服务(unicorn、sidekiq、nginx等)均为run状态。四、常见问题处理
sudo gitlab-ctl tail(实时日志)或sudo less /var/log/gitlab/gitlab-rails/production.log(历史日志)。sudo gitlab-rake db:migrate:status检查迁移状态),避免强制刷新页面。/etc/gitlab/gitlab.rb)出现冲突,优先保留自定义配置(如external_url、git_data_dirs),其余按官方文档调整。