Назад | Перейти на главную страницу

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

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

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

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

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

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

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

bundle exec rake gitlab:app:status RAILS_ENV=production

Некоторая подробная процедура:

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

Закрытые / открытые ключи SSH необходимы для автоматического (без пароля) процесса rsync / scp, если вы не понимаете, пожалуйста, прочтите 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

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

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

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

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