Перенос GitLab’а на новое место проживания
Захотелось мне сменить свою виртуальную машину в DigitalOcean на аналогичную в другом регионе, да и сменить при этом ОС на ней. На обозначенной виртуальной машине крутился себе GitLab, который мне и нужно было перенести в новое место.
Хочу сказать, что процесс переезда оказался совсем не доставившим хлопот, даже с учётом того, что на старом месте у меня Gitlab стоял с очень давних времён, когда ещё не было готовых пакетов для установки, я его тогда ещё разворачивал вручную на сервере. Разумеется, спустя несколько обновлений, в том числе при переезде на «пакетную» сборку, возникали какие-то конфликты, которые пришлось решать вручную, при этом что-то потом приходилось чинить. Тем не менее, оставались опасения, что процесс переезда может принести проблемы.
Однако, в моём случае, всё прошло гладко и без проблем. Итак, что мне нужно было сделать:
- Установил на новом месте актуальную версию Gitlab. Настройки перенёс с исходного места.
- Обновил исходный сервер до такой же версии (нужно, разумеется, для того, чтобы схемы совпадали).
- Сделвл на исходном сервере бэкап:
sudo gitlab-rake gitlab:backup:create
- Перенёс полученный бэкап на новую машину. Например, если бэкап создался с именем
1443182400_gitlab_backup.tar
, то команда в моём случае будет выглядеть примерно так:scp /var/opt/gitlab/backups/1443182400_gitlab_backup.tar root@newserverip:/var/opt/gitlab/backups/
- На новом месте нужно поправить права на файлик:
sudo chown git:git /var/opt/gitlab/backups/1443182400_gitlab_backup.tar
- Разворачиваем бэкап и рестартуем сервис:
sudo gitlab-rake gitlab:backup:restore BACKUP=1443182400
sudo gitlab-ctl restart
- …
- Profit!
В моём случае потребовалось совершить только такие вот простые шаги. Не знаю, как сильно усложнился бы мой процесс, если бы я, к примеру, пользовался CI от них же, и если бы у меня были какие-нибудь особенные настройки. Однако, мне удалось добиться того, что я хотел.