1 前期准备

  1. 准备生产 redis 和 pg 集群,在 pg 上创建一个新的无任何数据的库: gitlab
  2. 提前将新的 gitlab.rb 文件修改完成(添加外部 pg 和 redis 连接配置)

2 备份

2.1 检查后台迁移任务

在升级到新的主要版本之前,请确保所有后台迁移已完全完成

这一点很重要。在后台迁移完成之前进行升级可能会导致数据损坏。

可在 http://{gitlaburl}/admin/background_jobs 中查看

image-20220613141122340

2.2 停掉服务

gitlab-ctl stop puma

gitlab-ctl stop sidekiq

2.3 进行备份

gitlab-backup create SKIP=uploads,builds,artifacts,lfs,registry,pages,repositories

2.4 查看

1
2
3
4
5
# pwd
/data/gitlab-data/data/backups
# ll -h
total 3.4G
-rwxr-xr-x 1 chrony polkitd 2.5G Jun 13 11:47 1655023648_2022_06_13_14.8.5_gitlab_backup.tar

3 修改配置文件

将提前准备好的配置文件,替换 gitlab.rb

gitlab-ctl reconfigure

4 还原

4.1 还原数据

上面查到的文件名只保留版本前面的信息

按照提示输入两次 yes 并回车

gitlab-rake gitlab:backup:restore BACKUP=1655091528_2022_06_13_14.8.5

4.2 启动服务

gitlab-ctl start

5 迁移数据

gitlab-rake gitlab:check SANITIZE=true

gitlab-rake gitlab:doctor:secrets