Я установил Gitlab на свой сервер и не знаю, возможно ли то, что я хочу сделать.
Я хочу настроить Gitlab для мониторинга моих репозиториев со всеми полезностями, которые идут с ним, но я не хочу использовать URL-адреса gitlab, так как я не хочу вызывать такую головную боль для всех разработчиков, использующих репо.
Собственная функция Gitlab «Импорт», кажется, создает свои собственные URL-адреса, так что это не то, что я ищу.
Мой вопрос: есть ли способ использовать gitlab со старыми голыми URL-адресами git?
К сожалению, gitlab полагается на свою схему URL-адресов, чтобы получить права группы / пользователя для каждого репо.
Единственный способ, которым я могу представить, - это то, что можно использовать настраиваемые правила перезаписи на веб-сервере внешнего интерфейса. Эти правила затем переписали все запросы в соответствии с схемой именования gitlab. Это, конечно, потребует, чтобы ваши разработчики использовали только http (s) для доступа к репозиториям. Такой подход не приведет к разрыву вашего кода с исходной кодовой базой.
Однако, если вы также использовали ssh: // (что рекомендуется git), единственный способ, который я вижу, - это переписать путь в gitlab-shell: класс GitlabShell
имеет этот метод parse_cmd
def parse_cmd
args = Shellwords.shellwords(@origin_cmd)
@git_cmd = args[0]
@repo_name = escape_path(args[1])
end
в котором можно было повозиться с @repo_name. Такой подход отделит ваш код от исходной кодовой базы.
Мне очень жаль, но, поскольку вы не указали ни один пример пути репо, сложно составить более конкретный пример.
Лично я бы пошел с миграцией, чтобы импортировать репозитории и опубликовать новые URL-адреса. Если вы можете предоставить список git remote set-url origin ssh://git@gitlab.acme.com/newgroup/imported.git
вашим коллегам, которые, я думаю, свели бы к минимуму работу с их стороны.
Мой короткий ответ - «Нет».
Изменить или добавить новый пульт в существующий репозиторий - не такая уж проблема. Просто делай git remote add gitlab git@<server>/owner/repository_link.git
(или что бы там ни было) в проекте, и все готово. Если вы хотите заменить пульт "origin", вы можете увидеть, что делать, даже вручную в своем .git
папка. Поэтому меня бы не волновали новые URL-адреса, просто документируйте, что нужно сделать, и уведомляйте их о том, что вы переехали.