Миграция GitLab на новый сервер

Если попытаться на новом сервере восстановить бэкап, созданный предыдущей версией GitLab, возникнет ошибка:

GitLab version mismatch:
  Your current GitLab version (11.9.6) differs from the GitLab version in the backup!
  Please switch to the following version and try again:
  version: 11.9.4

Это краткое руководство поможет шаг за шагом перенести GitLab на новый сервер с другой версией GitLab. Наша стратегия — на новом сервере запустить версию GitLab, идентичную версии на старом сервере, и обновиться до последней версии после миграции данных.

  1. На старом сервере создать бэкап командой:

    # gitlab-rake gitlab:backup:create
    
  2. Скопировать архив на новый сервер (отредактируйте имя хоста и пути к бэкапам):

    # rsync -a /var/opt/gitlab/backups/XXXXXXXXX_gitlab_backup.tar root@repo.example.com:/var/opt/gitlab/backups/
    
  3. На новом сервере запустить:

    # gitlab-ctl reconfigure
    
  4. Остановить процессы unicorn и sidekiq:

    # gitlab-ctl stop unicorn
    # gitlab-ctl stop sidekiq
    
  5. Запустить восстановление:

    # gitlab-rake gitlab:backup:restore BACKUP=XXXXXXXXX
    
  6. Запустить GitLab и проверяющую задачу:

    # gitlab-ctl start
    # gitlab-rake gitlab:check SANITIZE=true
    
  7. Обновить версию GitLab, если необходимо.

    Пользователям останется только изменить ссылки в git-клиенте:

    $ git remote set-url origin https://repo.example.com/your-repo-url.git