一、升级前的准备工作
备份所有关键数据
升级前必须通过GitLab自带工具创建完整备份,涵盖仓库代码、数据库(如PostgreSQL/MySQL)、CI/CD配置、用户权限等。常用命令:
sudo gitlab-rake gitlab:backup:create
备份文件默认存储在/var/opt/gitlab/backups目录,建议将备份文件复制到异地或其他存储设备。
确认当前版本与升级路径
sudo gitlab-rake gitlab:env:info
停止GitLab相关服务
升级过程中需停止核心服务,防止数据损坏。常用命令:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
sudo gitlab-ctl stop nginx
可通过sudo gitlab-ctl status确认服务已全部停止。
二、根据安装方式执行升级
sudo apt update
CentOS/RHEL系统:sudo yum update
sudo apt upgrade gitlab-ce
CentOS/RHEL系统:sudo yum upgrade gitlab-ce
gitlab.rb配置文件需执行此步):sudo gitlab-ctl reconfigure
重启GitLab服务使变更生效:sudo gitlab-ctl restart
gitlab-ce-16.11.10-ce.0.el8.x86_64.rpm)。md5sum或sha256sum核对下载包的哈希值与官方提供的是否一致。sudo rpm -Uvh gitlab-ce-*.rpm
sudo gitlab-ctl reconfigure和sudo gitlab-ctl restart。/srv/gitlab/config、/srv/gitlab/logs、/srv/gitlab/data)中,需提前备份这些目录。docker stop gitlab
docker rm gitlab
docker pull gitlab/gitlab-ce:latest
docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
三、升级后验证
sudo gitlab-rake gitlab:check
该命令会自动检测GitLab运行状态及版本信息。注意事项