Gitlab 无损迁移

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

  • 备份原Gitlab仓库

# 停止gitlab服务,防止对git有事务操作
gitlab-ctl stop sidekiq
gitlab-ctl stop Puma

# 数据全库备份命令
gitlab-rake gitlab:backup:create
  • 备份文件会自动存放在备份路径下,配置文件(/etc/gitlab/gitlab.rb)中gitlab_rails['backup_path'] 属性配置,如果没有配置,默认在/var/opt/gitlab/backups位置下,需要恢复备份,备份文件指向的路径必须是备份文件地址

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

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

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

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

chmod 644 1537261122_2018_09_18_9.2.5_gitlab_backup.tar
  • 恢复备份(备份文件的位置一定要与配置文件/etc/gitlab/gitlab.rb中配置的是一致的,否则无法读取)

# 命令中省去后缀 ‘_gitlab_backup.tar’,否则命令无法识别文件
gitlab-rake gitlab:backup:restore BACKUP=1537261122_2018_09_18_9.2.5
  • 重新启动Gitlab即可

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

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

猜你喜欢

转载自blog.csdn.net/scdncby/article/details/129201116
今日推荐