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 匹配的任何版本。目前这是 5.5.0,因此您需要使用相同版本的 luke https://github.com/DmitryKey /luke/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/ 的许可