搜程式碼費時又費力?這裡有一個開源神器幫你快速搞定!

HelloGitHub發表於2021-03-17

多數企業出於安全、穩定、隱私等方面的考慮,都會選擇在內網搭建程式碼託管平臺。隨著企業的發展,專案會越來越多。

由於專案數量太多和人員的流動,企業中很難有人能掌握所有程式碼的細節,當想要統一排查程式碼是否包含某類敏感資訊,或檢查是否使用了某些不安全的方法時,就需要開發人員各自手工排查自己負責的程式碼,費時費力。

因此,企業全庫的程式碼搜尋就變得非常重要。尤其對於將程式碼通過 GitLab 部署在本地伺服器的企業,由於缺少了雲端託管平臺自身整合的搜尋引擎,想要在本地進行全域性的程式碼搜尋就變得異常困難。

就在近期 Gitee 團隊開源了免費程式碼搜尋工具 Kooder,目標是為包括 Gitee/GitLab/Gitea 在內的程式碼託管系統提供原始碼、倉庫和 Issue 的搜尋服務。

Kooder 直擊企業內部程式碼搜尋的痛點,不僅完全開源且部署方便。​迫不及待上手的小夥伴可以訪問 Gitee 上的主倉地址,檢視(star)專案:

Gitee(速度快):gitee.com/koode/koode…

GitHub:github.com/oschina/koo…

簡介

Kooder:開源的基於 Java 實現的程式碼搜尋平臺。目標是為包括 Gitee/GitLab/Gitea 程式碼託管系統提供 自動的原始碼、倉庫和 Issue 的搜尋服務。幫助提高搜尋程式碼、問題等資訊的效率,同時內網環境保證程式碼的安全性。

架構

服務包含兩個模組,分別是 gateway 和 indexer。其中 gateway 用來接受來自 HTTP 的索引任務, 對任務進行檢查後存放到佇列中; 同時 gateway 還接受搜尋的請求,並返回搜尋結果給客戶端。而 indexer 程式負責監控佇列中的索引任務, 並將這些要新增、刪除和修改索引的任務更新到索引庫中。

  • core 核心物件和公共類
  • gateway 用來接收來自 HTTP 的索引和搜尋的請求
  • indexer 構建、更新和刪除索引的服務

介面

貢獻

Kooder 有詳細的文件、環境搭建和部署的步驟,同時還提供了便捷的 Docker 安裝方式。讓你不管是閱讀它的原始碼、本地執行和除錯,還是二次開發和內部部署,都不是難事!

點個 「Star」 支援每一個解決痛點的開源專案!最後,歡迎大家給 Kooder 貢獻程式碼和反饋問題哦!

Gitee(速度快):gitee.com/koode/koode…

GitHub:github.com/oschina/koo…

專案遵循 Apache-2.0 開源協議,歡迎開發者們自由提交 Issue 和 PR。

相關文章