喵星之旅-狂奔的兔子-Gitlab 无损迁移

前提条件尽量保持Gitlab的版本一致,省去不必要的麻烦,想提升Gitlab版本,可以在数据迁移后单独提升版本。

关闭服务

1
2
gitlab-ctl stop sidekiq
gitlab-ctl stop Puma

备份数据

1
gitlab-rake gitlab:backup:create

备份文件会自动存放在备份路径下,配置文件(/etc/gitlab/gitlab.rb)中gitlab_rails[‘backup_path’] 属性配置,如果没有配置,默认在/var/opt/gitlab/backups位置下,需要恢复备份,备份文件指向的路径必须是备份文件地址

使用以上命令会在/var/opt/gitlab/backups(默认)目录下创建一个名称类似为1698919294_2023_11_02_10.0.0_gitlab_backup.tar的压缩包,这个压缩包就是Gitlab整个的完整部分, 其中开头的1698919294_2023_11_02_10.0.0是备份的时间戳和日期

备份文件名称不允许修改,且_gitlab_backup.tar 后缀

传送备份文件,可以用scp指令或者是其他方式

设置备份文件权限,环境改变权限可能存在不足

还原数据

恢复备份(备份文件的位置一定要与配置文件/etc/gitlab/gitlab.rb中配置的是一致的,否则无法读取)

1
2
# 命令中省去后缀 ‘_gitlab_backup.tar’,否则命令无法识别文件
gitlab-rake gitlab:backup:restore BACKUP=1698919294_2023_11_02_10.0.0

开启服务

重新启动Gitlab即可

其中非ROOT账户,其他账户信息都是一致迁移的

其中所有项目,所有分支,以及所有用户(非ROOT)权限都是一致迁移的

1
gitlab-ctl restart
文章目录
  1. 关闭服务
  2. 备份数据
  3. 还原数据
  4. 开启服务
|