Перемещение сервера gitolite
У меня есть рабочий сервер gitolite. Однако я хочу переместить его в идентичную конфигурацию, но на большей машине. Несмотря на то, что у меня работает гитолит, я не уверен в струнах под ним. В основном, его отношения с СШ.
Я хотел бы просто установить пакеты gitolite, git-core. И переместите каталоги репозитория для пользователя git. Ни один из ключей не нужно менять. Правильно ли это ? какова конфигурация связей gitolite с текущим сервер. Я работаю с Ubuntu
Я был особенно смущен GL-setup, который сделал эту работу, но оставляет меня в темноте о процессе.
спасибо
2 ответов
что вам нужно, так это также переместить конфигурацию ssh:
 ~/.ssh/authorized_keys
это файл, используемый SSH и настроенный Gitolite для того, чтобы:
- список всех авторизованных открытых ключей
- связан с сценарий принудительной команды
- передайте правильное имя пользователя скрипту gitolite
в разделе "как Gitolite использует ssh"
OP подтверждает, что это было вопрос и указывает на документацию Gitolite:
"все движется с одного сервера на другой":
(Примечание: это для  'g2'; то есть Gitolite V2, но идея та же для Gitolite V3 или 'g3')
идея этого процесса заключается в создании нового экземпляра Gitolite, а затем нажмите на существующее репозиторий Gitolite, который будет автоматически объявлять все ваши текущие существующие ключи в новый сервер ~/.ssh authorized_keys для вас.
- установить gitolite'е. Не беспокойтесь о pubkey, используемом на шаге GL-setup - например, это будет хорошо:
    ssh-keygen -q -N '' -f dummy
    gl-setup -q dummy.pub
- отредактируйте файл rc, чтобы иметь аналогичные настройки со старым.
- не копируйте весь файл сразу -- некоторые из переменных (в частности,
GL_PACKAGE_CONFиGL_PACKAGE_HOOKS) зависят от установки и не должны быть тронут!
Сделайdiffилиvimdiffи скопируйте только то, что вы знаете, что вы изменили на старом сервере.- отключите старый сервер, чтобы ваши пользователи не вносили в него никаких изменений.
Существует несколько способов сделать это, но самый простой-вставить эту строку вверху~/.gitolite.rcна старом сервере:
    exit 1;
- скопировать содержимое
$REPO_BASEна старом сервере до$REPO_BASEна новом сервере.
По умолчанию, как вы знаете, это оба$HOME/repositories.
chown -Rфайлы правильному Пользователю, если вы скопировали с помощью root.- исправить крючки
    gl-setup
- вызвать толчок к РЕПО администратора
    git clone repositories/gitolite-admin.git /tmp/gitolite-admin
    cd /tmp/gitolite-admin
    git commit --allow-empty -m 'trigger compile on new server'
    gl-admin-push -f
инструкции изменились для Gitolite V3
(скопировано из http://gitolite.com/gitolite/rare.html):
- установите gitolite на новый сервер, используя тот же ключ для администратора что касается старого сервера. 
- скопировать - .gitolite.rcфайл со старого сервера, заменив этим.
- отключите старый сервер, чтобы люди не нажимали на него. Есть несколько способов сделать это, но самое простое-вставить - exit 1;вверху- ~/.gitolite.rcна старом сервере:
- скопируйте все репозитории со старого сервера, включая - gitolite-admin. Убедитесь, что файлы в конечном итоге с правом собственности и разрешений; если нет, chown/chmod их.
- выполнить - gitolite setup.
- на клоне старого gitolite-admin добавьте новый удаленный (или измените существующий), чтобы указать на новый сервер. Тогда - git push -fдля этого дистанционный.
