searchcode 伺服器是一個功能強大的程式碼搜尋引擎,具有時尚的 Web 使用者介面。
searchcode 伺服器與您的原始碼控制系統協同工作,索引數千個儲存庫和文件,使您和您的開發人員能夠跨團隊快速查找和重複使用程式碼。
請參閱 https://searchcodeserver.com/ 以了解更多詳細信息,或訪問 http://demo.searchcodeserver.com/ 以了解使用 GIT 和 SVN 索引多個項目的即時演示。
如果您從原始程式碼構建,那麼您將無法獲得支持,並且必須在公平來源許可證指定的限制範圍內工作(有關詳細信息,請參閱 LICENSE.txt)。要購買支持,請參閱 https://searchcodeserver.com/pricing.html
如果您想提交要整合到 searchcode 伺服器中的程式碼,請註明它已取得 Apache 公共授權 v2 和 GPL v3 的雙重授權。這樣就可以直接拉入,而不必擔心將來的許可問題。
在提交任何內容之前,請務必執行(需要 Fabric<2.0 EG pip install 'fabric<2.0')
fab test
在接受任何提交之前,必須通過所有測試。
要建立 searchcode 伺服器,您需要擁有任何安裝了 Java 11 並設定了 Maven 的 Windows、Linux 或 OSX 電腦。理想情況下,您希望使用安裝了 Python 和 Python Fabric 的 Unix 作業系統。
請注意,Windows 目前不支援 Fabric 任務 (fab)。您可以嘗試使用它們,但它們可能需要在 Bash for Windows 或類似的東西下使用。
要執行 javascript 單元測試,請在瀏覽器中執行它們(如果需要),方法是開啟
./src/test/javascript/index.html
要測試應用程序,您可以運行
mvn test
或者
fab test
請注意,這些測試僅涵蓋一些整合單元和 javascript 單元。對於全覆蓋運行
fab test_full
應用程式在背景運行,以確保一切按預期工作。
要建立一個可供生產使用的完整版本 IE,您應該運行
fab build_release
它將測試編譯並將發行版建置到發行版資料夾中,並產生檔案“searchcode-server.tar.gz”,該檔案可供部署發行版。
如果您想簡單地測試並運行那麼您可以運行
fab run
然而,這將默認建立一個包並運行它。要快速運行,只需在您選擇的 IDE 中開啟並開始運行 App.java
有一組特殊的測試用於驗證 GIT 和文件儲存庫的索引邏輯是否正常運作。要執行此操作,您需要執行以下所有 shell 腳本之一:
./assets/integration_test/gitload/gitload.sh
./assets/integration_test/gitupdate/gitupdate.sh
./assets/integration_test/fileupdatetest/fileload.sh
./assets/integration_test/fileload/fileload.sh
然後將 git 新增為應用程式中的 GIT 儲存庫,將檔案新增為 FILE 儲存庫。設定屬性也很有用
check_repo_chages=60
check_filerepo_changes=60
但這不是必要的。然後運行搜尋代碼。這些腳本將每 60 秒新增/刪除/更新文件,這將強制 searchcode 從索引中新增/更新/刪除文件,以嘗試存取盡可能多的程式碼路徑。完成此操作後,任何時候索引的文件都不應超過 400 個(如果對所有 4 個儲存庫建立索引),並且至少 201 個文件(fileload.sh 檔案 + fileupdatetest 檔案 + gitupdate 檔案)。讓事情運行幾個小時以確保邏輯正常工作。
在發布之前,建置必須通過上述所有檢查,並且索引器邏輯測試至少運行 24 小時。為了確保性能可接受,測試還在 Atom 供電的上網本上運行。
要在本機上執行 searchcode 伺服器,您需要安裝任何安裝了 Java 11 的 Windows、Linux 或 OSX 電腦。使用以下版本完成測試和打包。
$ java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment (build 11.0.1+13-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.1+13-Debian-2, mixed mode, sharing)
將下載的檔案解壓縮到要執行 searchcode 伺服器的目錄。該目錄的磁碟空間應大於您要索引的儲存庫的大小。
解壓縮後,假設 java 在您的路徑中(使用命令 java -version 檢查),您應該能夠使用以下命令為 Linux/OSX/BSD 執行 searchcode
./searchcode-server.sh
或對於 Windows
searchcode-server.bat
片刻之後,searchcode 伺服器應該準備好運作。預設情況下,它將在連接埠 8080 上運行。
http://SERVER_IP:8080
如果您的伺服器或本機執行本機主機,請務必將 SERVER_IP 替換為 IP 位址。如果您看到帶有搜尋欄的頁面,那麼一切都很好。
為了進一步控制,您可能需要編輯上述檔案並包含 java -Xmx 參數來指定要使用的 RAM 量或您希望傳入的任何其他 java 選項。
要管理您的 searchcode 伺服器實例,您需要點擊右上角的管理連結。輸入預設密碼 Adm1n234(透過屬性檔案變更此密碼)以新增 git 儲存庫。如果您需要協助,請查看文件頁面(每個頁面底部的連結)。
若要使用 Ubuntu 作為更新或 SystemD 作業進行設置,請參閱 https://searchcodeserver.com/knowledge-base/upstart-and-systemd-startup-scripts-for-ubuntu.html
請始終記住,升級最好透過完整重新索引來完成。您可以透過刪除在 searchcode.properties 檔案中配置的索引目錄的內容或按一下管理畫面中的「重新抓取和重建索引」按鈕來執行此操作。
若要升級目前的 searchcode 實例,請執行下列步驟。
停止目前的 searchcode 伺服器實例
製作目前實例 searchcode.properties 和 searchcode.sqlite 檔案的備份副本。
將包解壓縮到新目錄。
你可以
再次啟動您的實例
登入管理畫面並點選「重新擷取和重建索引」按鈕
也值得將您的 searchcode.properties 檔案與新檔案(或文件頁面)進行比較,因為可能有您可以使用的新配置。另請務必檢查設定頁面,因為可能有您可以使用的新設定。
背景圖像在提交之前均使用以下命令調整大小
convert 1.jpg -quality 75 -resize 1600x1200 1.jpg
如果您希望使用 Luke 來檢查索引,您將需要使用 pom.xml 中與 lucence 相符的任何版本。 /releases/tag/luke-5.5.0
版權所有 (c) 2016 Boyter 線上服務
本軟體的使用受 LICENSE.txt 檔案中所包含的公平來源許可證的約束
為了處理我的死亡或該軟體被遺棄的情況,它有一個開放的最終條款,其中許可證將在版本發布日期後 3 年內更改。這意味著,如果版本 1.0.0 於 2010 年 7 月 1 日發布,則可以在 2013 年 7 月 2 日使用列出的備用許可證獲取該版本。
在以下尚未指定的日期之後,軟體版本「1.3.15」根據 LICENSE.txt 檔案中包含的公平來源許可證或 GNU 通用公共授權版本 3 獲得雙重許可,條款在 https://www.gnu 中指定.org/licenses/gpl-3.0.txt
OWASP 資料庫已取得https://creativecommons.org/licenses/by-sa/3.0/ 的許可,源自於知識分享https://codecrawler.codeplex.com/ https://www.owasp.org/index.php /類別:OWASP_Code_Crawler 和 https://www.owasp.org/index.php/OWASP_Code_Review_Guide_Table_of_Contents 該資料庫已修改為 JSON,並在適用的情況下對拼字和標點符號進行了輕微更正。
文件分類器資料庫已獲得 https://creativecommons.org/licenses/by-sa/3.0/ 的許可