Склонировать целую группу репозиториев GitLab
Есть большая-пребольшая группа GitLab-репозиториев из сплошных микросервисов, мать их. Мне нужно их все загрузить себе на локальный компьютер. Хотелось бы это сделать, не напрягаясь чрезмерно. Подскажите какое-нибудь решение.
Ответы (1 шт):
Автор решения: mymedia
→ Ссылка
Есть у меня относительно простой способ получить проекты группы через GitLab API. Шаги ниже.
- Откройте в браузере, где вы залогинены, ссылку вида
https://gitlab.com/api/v4/groups/9970/projects?per_page=100 - Выделенные части в адресе замените на ваши данные, идентификатор группы можно найти на её основной странице

- Сохраните (Ctrl+S) данные по ссылке в файл projects.json
- В терминале выполните команду
jq -r '.[].ssh_url_to_repo' < /path/to/projects.json | xargs -n1 git clone - Помимо самого Git потребуются findutils и jq, последняя из утилит обычно не входит в базовую поставку — её придётся установить дополнительно.
- Если репозиториев больше сотни, то придётся вручную перейти ко второй странице, добавив query-параметр
&page=2в конец ссылки, и продолжить скачивание.
Увы, есть ограничение. Метод не работает с вложенными группами, выкачиваются проекты только на самом верхнем уровне.