GitLab 项目名全批量抓取
工作上的需求,需要抓取自有部署的GitLab上分组里的所有项目,目前我们有两个版本
- GitLab 7.14.0
- GitLab Community Edition 12.1.6
页面抓取
老版本的GitLab非常好操作,因为主页自带一个 “Show all” 的功能,点开后直接页面F12,拷贝div 内容,然后编辑器过滤以下,然后批量编辑以下即可
<div class="panel panel-default">...</div>
接口抓取
新版本的GitLab页面整体都改过了,找了半天只有分页一页只显示20个,而且没有设置的地方,网站找了半天找到了GitLab的接口文档
https://docs.gitlab.com/ee/api/README.html#pagination-link-header
根据官方说明还需要用户名密码TOKEN 之类的 curl 来请求,我数了下我们项目没有几百个,就决定手动搞定,有这时间写程序,不如复制粘贴解决了,结果官方的接口居然只能一次请求100个,然后也要通过分页来请求,然后看了下我们有五百多,还好还好,5个链接。手动操作了。
http://服务器地址/api/v4/groups/组名/projects?per_page=100&page=1
然后接口数据标准json格式,然后编辑器格式化,过滤了一波解决。
克隆
顺带说下批量克隆的一个小技巧,至克隆最新的,这样节省空间。
git clone http://服务器地址/XXX/XXX.git --depth 1