Py学习  »  Git

Gitee 又一款超赞的开发神器问世,代号「Kooder」!

GitHubDaily • 3 年前 • 313 次点击  
公众号关注 “GitHubDaily”
设为 “星标”,每天分享更多优质开源项目!

大家好,我是小 G。

随着 Git 这一代码版本控制工具的诞生,越来越多企业选择将项目代码托管至开源平台或自有部署服务器,并采用版本持续迭代的方式,在团队间进行协同开发。

由于企业中有越来越多的项目需要进行本地部署,代码审查的工作量与难度系数也呈指数型上升。

对于开发人员来说,对代码质量的管控、代码风格的统一以及函数方法作用的定位检索,便成为其日常工作必不可少的一部分。

因此,企业全库代码的搜索效率与精准度变得愈加重要。尤其对于将代码通过 GitLab 部署在本地服务器的企业,由于缺少了云端托管平台自身集成的搜索引擎,想要在本地进行全局的代码搜索就变得异常困难。

为解决该问题,Gitee 团队在近日开源了代码搜索工具 Kooder,Kooder 的目标是为包括 Gitee/GitLab/Gitea 在内的代码托管系统提供自动的源码、仓库和 Issue 的搜索服务。

仓库地址:

https://gitee.com/koode/kooder

Kooder 架构

Kooder 服务包含两个模块,分别是 gateway 和 indexer(默认配置下 indexer 被集成到 gateway 中)。

其中 gateway 用来接受来自 HTTP 的索引任务, 对任务进行检查后存放到队列中;同时 gateway 还接受搜索的请求,并返回搜索结果给客户端。

而 indexer 进程负责监控队列中的索引任务, 并将这些要新增、删除和修改索引的任务更新到索引库中。

数据流图

在运行过程中,Kooder 会自动处理所有索引动作,包括推送代码的自动更新。同时 Kooder 也提供了搜索的 API 可以方便的嵌入到别的应用中。

搜索界面效果

在搜索框中输入你想要搜索的函数、变量或方法名,即可在全仓库内搜索它们,并为搜索结果进行了语言的归类,查看更方便。

主要技术栈

Kooder 不依赖于 Java 容器服务,是一个独立的应用程序,它的主要技术栈有:

  • lucene
  • jgit
  • vert.x
  • jcseg
  • velocity
  • jackson
  • gitlab4j
  • Spectre.css

进行贡献

Kooder 遵循 Apache-2.0 开源协议,欢迎开发者们踊跃提交 Issue 和 PR。

Kooder 刚刚在前两天完成了 1.0 Alpha2 版本的更新,更多详细信息请前往代码仓库查看,别忘了给它一个 Star 哦:

https://gitee.com/koode/kooder

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110182
 
313 次点击