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

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

![](https://img2020.cnblogs.com/blog/759200/202103/759200-20210316122601417-236163448.png) 多數企業出於安全、穩定、隱私等方面的考慮,都會選擇在內網搭建程式碼託管平臺。隨著企業的發展,專案會越來越多。 由於專案數量太多和人員的流動,企業中很難有人能**掌握所有程式碼的細節**,當想要統一排查程式碼是否包含**某類敏感資訊**,或檢查是否使用了**某些不安全的方法**時,就需要開發人員各自**手工排查自己負責的程式碼**,費時費力。 因此,**企業全庫的程式碼搜尋**就變得非常重要。尤其對於將程式碼通過 GitLab 部署在本地伺服器的企業,由於缺少了雲端託管平臺自身整合的搜尋引擎,想要在本地進行全域性的程式碼搜尋就變得異常困難。 就在近期 Gitee 團隊開源了免費程式碼搜尋工具 **Kooder**,目標是為包括 Gitee/GitLab/Gitea 在內的程式碼託管系統提供原始碼、倉庫和 Issue 的搜尋服務。 ![](https://img2020.cnblogs.com/blog/759200/202103/759200-20210316122639030-1313733556.png) **Kooder** 直擊企業內部程式碼搜尋的痛點,不僅**完全開源且部署方便**。​迫不及待上手的小夥伴可以訪問 Gitee 上的主倉地址,檢視(star)專案: > Gitee(速度快):https://gitee.com/koode/kooder > > GitHub:https://github.com/oschina/kooder ## 簡介 **Kooder**:開源的基於 Java 實現的程式碼搜尋平臺。目標是為包括 Gitee/GitLab/Gitea 程式碼託管系統提供 **自動的原始碼、倉庫和 Issue 的搜尋服務**。幫助提高搜尋程式碼、問題等資訊的效率,同時內網環境保證程式碼的安全性。 ## 架構 服務包含兩個模組,分別是 gateway 和 indexer。其中 gateway 用來接受來自 HTTP 的索引任務, 對任務進行檢查後存放到佇列中; 同時 gateway 還接受搜尋的請求,並返回搜尋結果給客戶端。而 indexer 程序負責監控佇列中的索引任務, 並將這些要新增、刪除和修改索引的任務更新到索引庫中。 * `core` 核心物件和公共類 * `gateway` 用來接收來自 HTTP 的索引和搜尋的請求 * `indexer` 構建、更新和刪除索引的服務 ![](https://img2020.cnblogs.com/blog/759200/202103/759200-20210316122651494-769519971.jpg) ## 介面 ![](https://img2020.cnblogs.com/blog/759200/202103/759200-20210316122701386-1345081557.png) ![](https://img2020.cnblogs.com/blog/759200/202103/759200-20210316122709722-706341609.png) ## 貢獻 **Kooder** 有詳細的文件、環境搭建和部署的步驟,同時還提供了便捷的 Docker 安裝方式。讓你不管是閱讀它的原始碼、本地執行和除錯,還是二次開發和內部部署,都不是難事! 點個 **「Star」** 支援每一個解決痛點的開源專案!最後,歡迎大家給 **Kooder** 貢獻程式碼和反饋問題哦! > Gitee(速度快):https://gitee.com/koode/kooder > > GitHub:https://github.com/oschina/kooder 專案遵循 Apache-2.0 開源協議,歡迎開發者們自由提交 Issue 和 PR。