Назад | Перейти на главную страницу

Могу ли я использовать gitlab для мониторинга существующих репозиториев, сохраняя старые голые URL-адреса git?

Я установил 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-адреса, просто документируйте, что нужно сделать, и уведомляйте их о том, что вы переехали.