Gitosis больше не поддерживается, а стабильная версия Debian Wheezy уже не за горами, и в ней она больше не будет доступна.
Поэтому было принято решение перейти на гитолит. Несмотря на то, что существует соответствующее руководство , оно не отвечает на вопрос – «Как это сделать, ничего не сломавЭ» Об этом мы сейчас и поговорим.
Идея следующая: установить гитолайт на того же пользователя, проверить его работу и заменить гитозис на гитолайт с минимальным простоем.
Поскольку установка осуществляется на одного пользователя, возможны конфликты.
Таким образом, было установлено, что при конфигурациях по умолчанию конфликты возможны в следующих местах: в папке, в которой расположены репозитории ~/репозитории и в файле ~/.
ssh/authorized_keys , который автоматически генерируется этими приложениями.
В первом случае есть возможность изменить путь по умолчанию, но для второго случая автор гитолайта не предусмотрел такую возможность.
Хоть там и перл, не беда — пробьемся.
Небольшой коммит исправленный позиция.
Желательно устанавливать из исходников, так как это дает больше гибкости.
Альтернативный способ — пересобрать пакет, но тогда вы потеряете возможность простого обновления пакета.
Поэтому первый вариант предпочтительнее.
Полную установку описывать не буду, так как это уже сделанный для меня, но опишу только конкретные моменты.
Перед выполнением установка гитолита нужно изменить в файле src/lib/Gitolite/Rc.pm параметры GL_REPO_BASE И SSH_AUTH_KEY .
Например, заменим авторизованные_ключи на авторизованные_ключи_gitolite , И в GL_REPO_BASE давайте укажем другую папку.
Теперь можно смело продолжать установку, поскольку конфликты устранены.
Gitolite и gitosis не могут использовать один экземпляр ssh одновременно, поэтому мы поднимем второй.
Для этого нужно скопировать конфиг по адресу /etc/ssh/sshd_config скажем, в /etc/ssh/sshd_config_gitolite и изменить последний.
Вам следует раскомментировать поле в нем.
Авторизованный кисфиле и прописываем файл, который был указан ранее в конфиге gitolite (в нашем случае это авторизованные_ключи_gitolite ).
А также замените параметр Порт с другой стороны, пусть будет так 22222 .
Теперь запускаем ssh в режиме отладки sudo /usr/sbin/sshd -ddd -f /etc/ssh/sshd_config_gitolite и проверьте его работу.
Для этого клонируйте тестовый репозиторий git-клон ssh://git@git-server:22222/testing .
Далее мы переходим к миграции, описанной в руководство gitolite: добавление ключей, перенос конфига и проверка прав доступа.
Последний шаг – переход от гитоза к гитолиту.
Для этого мы отключили всем доступ к git (чтобы не вносилось новых изменений), переместив файл .
ssh/authorized_keys в другое место.
Тогда есть два пути: либо скопировать репозитории из ~/репозитории В ~/репо или сделайте на них символические ссылки.
После перемещения репозиториев запустите установка гитолита , как описано в инструкции.
Последнее действие заменит SSH_AUTH_KEY к значению по умолчанию и переименуйте файл авторизованные_ключи_gitolite В авторизованные_ключи .
Таким образом, миграция завершилась успешно.
Итог: метод достаточно безболезненный, поскольку gitolite устанавливается самостоятельно и конфигурацию можно протестировать заранее.
Преимущество этого метода в том, что время простоя стремится к нулю.
Удачной миграции! Теги: #gitosis #gitolite #git #миграция #linux #git
-
Простое Резервное Копирование Игр Wii
19 Oct, 24 -
Время Раздавать Свои Игрушки
19 Oct, 24 -
6 Советов, Как Мотивировать Вашу Команду
19 Oct, 24 -
Возможно, Touchwall За 40 Долларов?
19 Oct, 24