前言
大家在入职第一天会由上级给你开通了gitlab的权限,便需要开始clone有权限的项目。
在项目数少的情况下可以到项目的主页选择下载。 如果拥有的项目很多, 那么就可以需要用到脚本来获取所有的项目地址了。
思路
Gitlab REST API - GET all projects
参照以上的接口,可以获得项目数据。 返回的JSON格式可以再通过JSON工具来处理并获得其中的 http_url_to_repo 字段,这个字段是https的repo地址
准备工作
- private_token 请在 https://gitlab.example.com/-/profile/personal_access_tokens 创建
- curl
- jq
脚本
# 下载 json 处理脚本工具
brew install jq
# jq -r '.[].http_url_to_repo' 可以改为 jq -r '.[].ssh_url_to_repo' 看需要修改
curl "https://gitlab.example.com/api/v4/projects?access_token=<private_token>&per_page=100000" | jq -r '.[].http_url_to_repo' | awk '{print "git clone " $0}' > repos.txt
# 输出到 repos.txt 中 复制到命令行中下载
# 如果不下载jq 不好处理json格式,那就直接curl出来自己用工具处理
curl "https://gitlab.example.com/api/v4/projects?access_token=<private_token>&per_page=100000" > repo_raw.json