如何将gitlab备份迁移到具有最新gitlab版本的新服务器

Nav*_*ani 10 git bitnami gitlab gitlab-ci

我正在尝试将旧服务器的gitlab备份迁移到新服务器.我的旧服务器有gitlab(gitlab-6.5.1-0),我的新服务器有gitlab版本(gitlab 6.6.5-omnibus).我使用以下命令从旧服务器获取备份

bundle exec rake gitlab:backup:create RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)

当我尝试使用此命令在新服务器中恢复此备份时

gitlab-rake gitlab:backup:restore BACKUP=1395394855
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

Unpacking backup ... done
GitLab version mismatch:
  Your current GitLab version (6.6.5) differs from the GitLab version in the backup!
  Please switch to the following version and try again:
  version: 6f6f1588ba5123f156ee3b0635a061745b71fcde
Run Code Online (Sandbox Code Playgroud)

我试着寻找解决方案.但是在所有文档中都说它备份已经迁移到以前的版本.但它们都没有描述如何迁移备份.关于这个的任何解决方案都是赞赏的!

Von*_*onC 2

此错误消息是由以下内容产生的lib/backup/manager.rb#L87-L92

  settings = YAML.load_file("backup_information.yml")
  ENV["VERSION"] = "#{settings[:db_version]}" if settings[:db_version].to_i > 0

  # restoring mismatching backups can lead to unexpected problems
  if settings[:gitlab_version] != Gitlab::VERSION
    puts "GitLab version mismatch:".red
Run Code Online (Sandbox Code Playgroud)

它似乎强制进行增量备份,如以下评论中所述

将备份恢复到新服务器时我遇到了同样的问题。

backup.rake在进行备份时以及从最新签出恢复到相同分支名称时检查 GITLAB 提交号。

我必须:

  • 删除5-2-stable
  • 5-2-stable使用相同的提交哈希再次签出( git checkout -b 5-2-stable COMMIT-HASH),
  • 运行所有任务,就像安装新5-2-stable版本一样config/gitlab.ymlconfig/database.yml.
  • 然后我将backup.tar文件复制到默认值/home/git/gitlab/tmp/backups并运行restore rake任务。

它工作没有任何问题。然后我从 5-2-stable 升级到 5-3-stable,一切顺利。