首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将gitlab备份迁移到具有最新gitlab版本的新服务器上

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

Stack Overflow用户
提问于 2014-03-21 11:41:33
回答 3查看 21.8K关注 0票数 11

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

代码语言:javascript
运行
复制
bundle exec rake gitlab:backup:create RAILS_ENV=production

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

代码语言:javascript
运行
复制
gitlab-rake gitlab:backup:restore BACKUP=1395394855

我得到以下输出

代码语言:javascript
运行
复制
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

我试着寻找解决方案。但是在所有的文档中,它说的是,备份已经迁移到以前的版本。但它们都没有描述如何迁移备份。任何有关这方面的解决方案都将不胜感激!

EN

回答 3

Stack Overflow用户

发布于 2014-03-21 12:01:45

此错误消息由lib/backup/manager.rb#L87-L92生成。

代码语言:javascript
运行
复制
  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

它似乎强制执行增量备份,如在本评论中描述

在将备份还原到新服务器时,我也遇到了同样的问题。 backup.rake检查GITLAB在备份时的提交号,以及当您从最近的签出中恢复到相同的分支名称时。 我必须:

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

没有任何问题。然后我跟踪5-2稳定到5-3稳定升级,一切都进行得很顺利.

票数 2
EN

Stack Overflow用户

发布于 2016-11-28 07:31:13

根据错误消息,备份存档由(gitlab-6.5.1-0)创建,无法使用(gitlab 6.6.5-omnibus)进行还原。

对于简单的解决方案,我建议先安装gitlab-6.5.1-omnibus并还原备份存档。然后,通过linux包系统进行升级。如果遇到任何与数据库相关的问题,请运行sudo gitlab-rake db:migrate

票数 1
EN

Stack Overflow用户

发布于 2018-04-10 06:51:55

根据Gitlab关于https://docs.gitlab.com/ce/raketasks/backup_restore.html的官方文档

您只能将备份还原到与其创建的完全相同的版本和类型(CE/EE)。将存储库从一台服务器迁移到另一台服务器的最佳方法是备份还原。

因此,首先在旧服务器上更新您的gitlab (即6.5.1-0 -> 6.6.5 ),然后按照正式文件进行操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22557785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档