Как перенести резервные копии gitlab на новый сервер с последней версией gitlab
Я пытаюсь перенести мои резервные копии gitlab для моего старого сервера на новый сервер. мой старый сервер имеет gitlab (gitlab-6.5.1-0), а мой новый сервер имеет версию gitlab (gitlab 6.6.5-omnibus). я сделал резервную копию со своего старого сервера, используя следующую команду
bundle exec rake gitlab:backup:create RAILS_ENV=production
и когда я пытаюсь восстановить эту резервную копию на новом сервере с помощью этой команды
gitlab-rake gitlab:backup:restore BACKUP=1395394855
Я получаю следующий вывод
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
Я пытался найти решение. но во всех документах говорится, что резервная копия уже перенесена в предыдущую версию. но ни один из них не описывает, как переносить резервные копии. Любое решение в этом отношении приветствуется!
3 ответа
Это сообщение об ошибке создается 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
Кажется, для принудительного создания резервной копии, как описано в этом комментарии:
Я столкнулся с той же проблемой при восстановлении резервной копии на новый сервер.
backup.rake
проверяет номер коммита GITLAB во время создания резервной копии и при восстановлении того же имени ветви из последней проверки.Мне пришлось:
- удалять
5-2-stable
а также- проверить снова
5-2-stable
с тем же хэшем (git checkout -b 5-2-stable COMMIT-HASH
),- запустил все задачи, так как установка свежей
5-2-stable
выпустить с тем жеconfig/gitlab.yml
,config/database.yml
,- Тогда я скопировал
backup.tar
файл в дефолт/home/git/gitlab/tmp/backups
и побежалrestore rake
задача.Работало без проблем. Затем я следовал с 5-2-стабильного до 5-3-стабильного обновления, и все прошло хорошо.
Согласно сообщению об ошибке, архив резервных копий создается (gitlab-6.5.1-0) и не может быть восстановлен с помощью (gitlab 6.6.5-omnibus).
Для простого решения я бы рекомендовал установить gitlab-6.5.1-omnibus
и восстановил ваш резервный архив первым. Затем выполните обновление через систему пакетов linux. Бежать sudo gitlab-rake db:migrate
если вы столкнулись с какой-либо проблемой, связанной с базами данных
Согласно официальной документации Gitlab по резервному копированию и восстановлению GitLab:
Вы можете восстановить только резервную копию точно такой же версии и типа (CE/EE) GitLab, на которой она была создана. Лучший способ перенести ваши репозитории с одного сервера на другой - это восстановление из резервной копии.
Итак, сначала обновите ваш gitlab на OLD сервере (то есть 6.5.1-0 -> 6.6.5), а затем следуйте официальной документации.