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

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

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

2 ответа

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

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

  1. резервное копирование / восстановление данных mysql (инструменты: mysqldump / mysql
  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 экспорт / импорт).

Другие вопросы по тегам