Перемещение сервера 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
для этого дистанционный.