Перенос сервера Gitlab и Gitolite на другую машину

Перенос сервера Gitlab и Gitolite на другую машину

Теперь у меня запущены gitlab и gitolite на моем сервере ubuntu. Однако этот сервер слишком медленный, и моя компания хочет перенести сервер на другую машину. Есть ли способ перенести gitlab и gitolite сервер (все файлы, пользователей и настройки) на другую машину?

Установка и создание всех пользователей и репозиториев заново было бы моим последним выбором. Спасибо заранее.

решение1

Я постоянно делаю это с помощью почасового задания crontab для более быстрого локального развертывания. (что создает точную копию исходного сервера, служит зеркалом только для чтения, лично я называю это машиной-марионеткой).

Все, что вам нужно сделать, это:

  1. резервное копирование/восстановление данных MySQL (инструменты: mysqldump / mysql < backup.sql.txt)
  2. скопировать все gitlab www на новую машину (scp, rsync)
  3. скопировать все директории gitolite на новую машину (rsync)

Вы всегда можете выполнить следующую команду, чтобы проверить, успешно ли работает puppet.

bundle exec rake gitlab:app:status RAILS_ENV=production

Подробная процедура:

Я настроил mime с помощью ubuntu 12.04 gitolite apt-get install, остальное по официальному руководству, а также сделал несколько заметок:

Для автоматизированного (безпарольного) процесса rsync/scp необходимы закрытые/открытые ключи SSH. Если вы не понимаете, пожалуйста, прочтите.http://troy.jdmz.net/rsync/index.html

Все, что вам нужно сделать, это настроить несколько заданий cron после того, как исходная машина заработает: этоВ сетизеркало тоже. (вам не нужно перезапускать какой-либо веб-сервер/машину)

crontab на зеркальной машине:

58 * * * * rsync -zav root@my_remote_server.com:/home/git /home
11 * * * * rsync -zav root@my_remote_server.com:/root/mysql_hourly_dump.txt /root
15 * * * * mysql -u root -p"secure password" gitlabhq_production < mysql_hourly_dump.txt
20 * * * * rsync -zav --delete my_remote_server.com:/www/ /www

crontab на сервере:

7 * * * * mysqldump -p"secure password" gitlabhq_production -u root > /root/mysql_hourly_dump.txt

решение2

Перемещение гитолита кажется простым:

  • вам нужно убедиться, что открытые ключи, на которые он ссылается, все еще находятся в ~/.ssh/authorized_keysновом доме (поэтому вам в основном нужно скопировать этот файл)
  • И вам нужно переместить файлы repositories, .gitoliteи .gitolite.rc(проверьте пути в последнем)

«Пользователи» объявляются только в файле gitolite и базе данных gitlab.

Необходимо переустановить GitLab (из-за всех используемых им gem-пакетов, которые могут использоваться по фиксированному пути, основанному на первой установке), а его базу данных обновить/заменить на базу данных с сервера Ubuntu (либо с помощью копирования файлов, либо с помощью экспорта/импорта SQL).

Связанный контент