скрипт на клонирование всех репозиториев и групп из гитлаб
Хз, может пригодится кому нибудь #!/bin/bash
#ПараметрыTOKEN="ВАШ_ACCESS_TOKEN" BASE_URL="АДРЕС_ВАШЕГО_ГИТЛАБА"_ GROUP_ID="ID_МАТЕРИНСКОЙ_ГРУППЫ" BASE_DIR="./gitlab_repos" get_projects() { local group_id="$1" local path="$2" mkdir -p "$path" echo "Получаем проекты из группы ID: $group_id" curl --silent --header "PRIVATE-TOKEN: $TOKEN" "$BASE_URL/api/v4/groups/$group_id/projects?per_page=100" \ | jq -r '.[] | "(.ssh_url_to_repo) (.path)"' | while read repo repo_name; do echo "Клонируем репозиторий: $repo в папку: $path/$repo_name" git clone "$repo" "$path/$repo_name" done echo "Ищем подгруппы в группе ID: $group_id" curl --silent --header "PRIVATE-TOKEN: $TOKEN" "$BASE_URL/api/v4/groups/$group_id/subgroups?per_page=100" \ | jq -r '.[] | "(.id) (.path)"' | while read subgroup_id subgroup_name; do echo "Обрабатываем подгруппу ID: $subgroup_id (папка: $path/$subgroup_name)" get_projects "$subgroup_id" "$path/$subgroup_name" done }
_echo "Начинаем процесс клонирования для группы ID: $GROUP_ID" get_projects "$GROUP_ID" "$BASE_DIR"