Перенос GitLab’а на новое место проживания

Захотелось мне сменить свою виртуальную машину в DigitalOcean на аналогичную в другом регионе, да и сменить при этом ОС на ней. На обозначенной виртуальной машине крутился себе GitLab, который мне и нужно было перенести в новое место.

Хочу сказать, что процесс переезда оказался совсем не доставившим хлопот, даже с учётом того, что на старом месте у меня Gitlab стоял с очень давних времён, когда ещё не было готовых пакетов для установки, я его тогда ещё разворачивал вручную на сервере. Разумеется, спустя несколько обновлений, в том числе при переезде на «пакетную» сборку, возникали какие-то конфликты, которые пришлось решать вручную, при этом что-то потом приходилось чинить. Тем не менее, оставались опасения, что процесс переезда может принести проблемы.

Однако, в моём случае, всё прошло гладко и без проблем. Итак, что мне нужно было сделать:

  1. Установил на новом месте актуальную версию Gitlab. Настройки перенёс с исходного места.
  2. Обновил исходный сервер до такой же версии (нужно, разумеется, для того, чтобы схемы совпадали).
  3. Сделвл на исходном сервере бэкап:
    sudo gitlab-rake gitlab:backup:create
  4. Перенёс полученный бэкап на новую машину. Например, если бэкап создался с именем 1443182400_gitlab_backup.tar, то команда в моём случае будет выглядеть примерно так:
    scp /var/opt/gitlab/backups/1443182400_gitlab_backup.tar root@newserverip:/var/opt/gitlab/backups/
  5. На новом месте нужно поправить права на файлик:
    sudo chown git:git /var/opt/gitlab/backups/1443182400_gitlab_backup.tar
  6. Разворачиваем бэкап и рестартуем сервис:
    sudo gitlab-rake gitlab:backup:restore BACKUP=1443182400
    sudo gitlab-ctl restart
  7. Profit!

В моём случае потребовалось совершить только такие вот простые шаги. Не знаю, как сильно усложнился бы мой процесс, если бы я, к примеру, пользовался CI от них же, и если бы у меня были какие-нибудь особенные настройки. Однако, мне удалось добиться того, что я хотел.