Из-за политики GITS Indonesia мы должны перенести сервер GitLab на другой сервер. В этом случае мы использовали вычислительный движок Google Cloud Platform для нового сервера.
При переносе GitLab на новый сервер мы можем столкнуться с множеством проблем несовместимых версий; другая операционная система (поэтому нужна другая последняя версия GitLab); и т.д. Есть два способа перенести GitLab. Первый способ - обновить старую версию до той же последней версии GitLab, сделать резервную копию GitLab, и мы можем перейти на новый сервер. Второй способ - установить GitLab на новый сервер с той же версией, что и на старом сервере. Мы выбрали второй путь безопасности.
Итак, вот как это сделать.
Сначала мы создаем новый сервер на GCP с Ubuntu Server 18.04, в то время как старый сервер по-прежнему использует Ubuntu Server 14.04. А версия GitLab, которую мы используем, - 11.4.5.
На старом сервере
На старом сервере выполните следующие действия.
- Выключите GitLab service
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq - Сделайте резервную копию GitLab на старом сервере
sudo gitlab-rake gitlab:backup:create
- Создайте на сервере папку с именем gitlab-old
mkdir gitlab-old
- Скопируйте конфигурацию файла GitLab в папку / etc / gitlab (gitlab.rb и gitlab-secrets.json) и папку / etc. / gitlab / ssl на ~ / gitlab-old
sudo cp /etc/gitlab/gitlab.rb ~/gitlab-old
sudo cp /etc/gitlab/gitlab-secrets.json ~/gitlab-old
sudo cp -R /etc/gitlab/ssl ~/gitlab-old - Скопируйте файл резервной копии в папку ~ / gitlab-old
sudo cp /var/opt/gitlab/backups/XXXXXXXXXX_gitlab_backup.tar
- Измените разрешение и право собственности на ~ / gitlab-old
sudo chown user:user -R ~/gitlab-old
- Перенести папку gitlab-old на новый сервер
scp -r ~/gitlab-old user@<new_server_ip>:~
На новом сервере
На новом сервере выполните следующие действия.
- Установите новый сервер с GitLab 11.4.5.
Добавьте исходный код GitLab с помощью:curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Update и установите GitLab 11.4.5 с помощью:
sudo apt-get install gitlab-ce=11.4.5-ce.0
- Скопируйте файл конфигурации в папку / etc / gitlab
sudo cp gitlab-old/gitlab* /etc/GitLab
- Скопируйте папку ssl в папку / etc / gitlab
sudo cp -R gitlab-old/ssl /etc/GitLab
- Первый запуск службы GitLab
sudo gitlab-ctl reconfigure
- Завершите работу службы GitLab
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq - Скопируйте файл резервной копии в / var / opt / gitlab / backups, затем измените владельца и разрешения на пользователя git
sudo cp gitlab-old/XXXXXXXXXX_gitlab_backup.tar /var/opt/gitlab/backups
sudo chown git:git /var/opt/gitlab/backups/XXXXXXXXXX_gitlab_backup.tar - Запустите процесс восстановления GitLab
sudo gitlab-rake gitlab:backup:restore BACKUP=XXXXXXXXX
- Перезапустите GitLab и проверьте
sudo gitlab-ctl start
sudo gitlab-rake gitlab:check SANITIZE=true
Вот и все! Он должен работать хорошо. Если у вас есть дополнительные вопросы, вы можете оставить свой комментарий ниже.
Дидиет А. Памбудионо - облачный исследователь, энтузиаст FOSS и участник, а также инженер DevOps в GITS Indonesia.