Як перенести GitLab з одного сервера на інший
Останні 3 роки ми використовуємо GitLab для зберігання вихідних кодів наших проектів та в якості простої системи трекінга задач і помилок для деяких з них. Особливих проблем з цією системою ніколи не було, та сьогодні знадобилось перенести її на інший хостинг.
Далі, коротка інструкція, в першу чергу - собі для пам'яті:
Не ігноруйте цей крок, бо будете, як я, копіювати файл резервної копії два рази.
Після оновлення, виконайте наступну команду для створення резервної копії:
sudo gitlab-rake gitlab:backup:create
Майте на увазі, що під час оновлення GitLab також створює резервну копію, але вона нам не підходить, бо не містить файли репозитаріїв з дорогоцінним для нас кодом. Зазвичай резевна копія створюється в директорії /var/opt/gitlab/backups.
Далі, коротка інструкція, в першу чергу - собі для пам'яті:
1. Підготувати свіженьку резервну копію даних на оригінальному сервері
Для цього, перш за все, потрібно оновити оригінальний GitLab до тієї ж версії, що буде встановлено на новому сервері. Якщо у вас, як у мене, GitLab встановлено з офіційного джерела, то для цього достатньо зробити:sudo apt-get update sudo apt-get upgrade
Не ігноруйте цей крок, бо будете, як я, копіювати файл резервної копії два рази.
Після оновлення, виконайте наступну команду для створення резервної копії:
sudo gitlab-rake gitlab:backup:create
Майте на увазі, що під час оновлення GitLab також створює резервну копію, але вона нам не підходить, бо не містить файли репозитаріїв з дорогоцінним для нас кодом. Зазвичай резевна копія створюється в директорії /var/opt/gitlab/backups.
2. Проінсталювати свіженький Ubuntu 16.04 Server
Так як на оригінальному сервері використовувалась система Ubuntu, я вирішив не експериментувати і на новому сервері використовувати її ж. Правда, поставити 16.04 замість 14.04 все таки ризикнув. Інсталяційний пакет раджу брати з офіційних джерел: https://www.ubuntu.com/server3. Проінсталювати необхідні реквізити
Для цього потрібно просто виконати кілька команд:sudo apt-get update sudo apt-get install curl openssh-server ca-certificates postfix
4. Проінсталлювати GitLab
Ми ж з вами любимо офіційні джерела так? Тоді все, знову ж таки, дуже просто:curl -sS \ https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh \ | sudo bash sudo apt-get install gitlab-ce
5. Виконати переконфігурацію GitLab
sudo gitlab-ctl reconfigureВ даний момент вже можна спробувати зайти на сайт та переконатися що GitLab працює. Хоча проектів там поки що немає. Треба виправити! Але ніякого конфігурування GitLab проводити не варто - все зникне після відновлення резервної копії.
6. Завантажуємо резервну копію з старого сервера
Як правило, це можна зробити з допомогою scp. Отаку команду треба виконанти на новому сервері:scp root@oldserver:/var/opt/gitlab/backups/XXXXXXX_gitlab_backup.tar \ /var/opt/gitlab/backups/
7. Відновити сервер з резервної копії
sudo gitlab-rake gitlab:backup:restore BACKUP=XXXXXXXЗверніть увагу, що XXXXXXX це відповідна частина імені файлу резервної копії.
8. Перезавантажити GitLab
sudo gitlab-ctl restartВ цей момент Ви маєте побачити свої репозитарії та їх вміст. Це вже добре. Але для того, щоб все запрацювало, мені довелося ще перенести з старого сервера SSL-сертифікати, та налаштувати GitLab на їх використання.
Коментарі