gitlab社区版只能进行单项目搜索。但在实际工作中,全局(多项目)搜索非常有必要,比如:
通过研究gitlab 提供的api文档,发现可以通过遍历调用api的方式实现全局多项目搜索。获取搜索结果的步骤为: 1、获取gitlab仓库的group; 2、根据group id 获取包含的project; 3、根据project id使用关键词搜索项目内容。
设计要点说明:
首先得有 node,并确保 node 版本是 10.13 或以上。
下载项目
git clone https://github.com/sam-plus/gitlab-global-search.git
在项目中安装依赖,推荐使用yarn安装
yarn
yarn start
在浏览器里打开 http://localhost:8000/?keyword=xxx&token=xxx&groups=xx;xx),能看到以下界面,

其中,token需要在gitlab seting中生成
搜索的项目分支为默认分支(一般是master)。暂不支持搜索所有分支,以及设定分支。 目前没有搜索结果导出功能,可直接把网页保存成.mhtm格式。