Linux系统中GitLab更新流程
GitLab升级需遵循渐进式版本升级原则,不能跳过中间版本。需根据当前版本查阅官方升级路径指南(如11.4.3→11.11.8→12.0.12→…→14.10.5),确保升级路线合规。可通过GitLab官方文档或sudo gitlab-rake gitlab:env:info命令查看当前版本。
升级前必须备份所有重要数据,避免操作失误导致数据丢失。常用备份命令:
sudo gitlab-backup create(默认备份路径为/var/opt/gitlab/backups);sudo gitlab-rake gitlab:backup:create。
备份内容包括数据库、仓库、配置文件、CI/CD设置等。为避免升级过程中数据冲突,需停止GitLab核心服务:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
sudo gitlab-ctl stop nginx
部分场景可能需要停止更多服务(如postgresql、redis),具体以官方文档为准。
根据安装方式选择对应包管理器更新:
sudo apt update
sudo apt upgrade gitlab-ce
sudo yum update gitlab-ce
gitlab-ce-<version>.el7.x86_64.rpm),执行sudo yum install /path/to/package.rpm。更新完成后,重新配置GitLab以应用新设置:
sudo gitlab-ctl reconfigure
然后重启服务使变更生效:
sudo gitlab-ctl restart
# 或单独重启关键服务
sudo gitlab-ctl start unicorn
sudo gitlab-ctl start sidekiq
sudo gitlab-ctl start nginx
通过以下方式确认升级成功:
http://your-server-ip),查看右下角版本号;sudo gitlab-rake gitlab:check,检查系统状态及版本信息。若使用Docker运行GitLab,升级流程略有不同:
/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 your-gitlab-domain.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