前提条件尽量保持Gitlab的版本一致,省去不必要的麻烦,想提升Gitlab版本,可以在数据迁移后单独提升版本。
关闭服务
1 | gitlab-ctl stop sidekiq |
备份数据
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 | # 命令中省去后缀 ‘_gitlab_backup.tar’,否则命令无法识别文件 |
开启服务
重新启动Gitlab即可
其中非ROOT账户,其他账户信息都是一致迁移的
其中所有项目,所有分支,以及所有用户(非ROOT)权限都是一致迁移的
1 | gitlab-ctl restart |