Сервер searchcode — это мощная система поиска кода с элегантным пользовательским веб-интерфейсом.
Сервер searchcode работает в тандеме с вашей системой контроля версий, индексируя тысячи репозиториев и файлов, позволяя вам и вашим разработчикам быстро находить и повторно использовать код в разных командах.
См. https://searchcodeserver.com/ для получения более подробной информации или http://demo.searchcodeserver.com/ для живой демонстрации, которая индексирует несколько проектов с использованием GIT и SVN.
Если вы собираете исходный код, вы не получаете никакой поддержки и должны работать в рамках ограничений, указанных в лицензии честного исходного кода (подробности см. в LICENSE.txt). Чтобы приобрести поддержку, см. https://searchcodeserver.com/pricing.html.
Если вы хотите отправить код для интеграции в сервер кода поиска, укажите, что он имеет двойную лицензию Apache Public License v2 и GPL v3. Это позволяет подключать его напрямую, не беспокоясь о проблемах с лицензированием в будущем.
Прежде чем отправлять какую-либо отправку, обязательно запустите (требуется ткань<2.0, например pip install 'fabric<2.0')
fab test
Все тесты должны быть пройдены, прежде чем любая заявка будет принята.
Чтобы создать сервер кода поиска, вам необходимо иметь любую машину под управлением Windows, Linux или OSX с установленной Java 11 и настройкой Maven. В идеале вы хотите использовать ОС Unix с установленными Python и Python Fabric.
Обратите внимание, что задачи Fabric (fab) в настоящее время не поддерживаются в Windows. Вы можете попытаться использовать их, но, вероятно, они понадобятся в Bash для 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 и файловых репозиториев. Для этого вам необходимо запустить один из следующих сценариев оболочки:
./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
но это не обязательно. Затем запустите searchcode. Скрипты будут добавлять/удалять/обновлять файлы каждые 60 секунд, что должно заставлять код поиска добавлять/обновлять/удалять файлы из индекса, пытаясь охватить как можно больше путей кода. При этом одновременно должно быть проиндексировано не более 400 документов (при индексировании всех 4 репозиториев) и минимум 201 (файлы fileload.sh + файлы fileupdatetest + файлы gitupdate). Оставьте работу на несколько часов, чтобы убедиться, что логика работает правильно.
Перед выпуском сборки сборка должна пройти все вышеперечисленные проверки, при этом логические тесты индексатора выполняются в течение как минимум 24 часов. Чтобы убедиться в приемлемой производительности, тесты также проводятся на нетбуке с процессором Atom.
Чтобы запустить сервер поискового кода локально, вам понадобится любой компьютер под управлением Windows, Linux или OSX с установленной Java 11. Тестирование и упаковка проводились с использованием приведенной ниже версии.
$ 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-server.sh
или для Windows
searchcode-server.bat
Через несколько секунд сервер поискового кода должен быть готов к работе. По умолчанию он будет работать через порт 8080. Чтобы подключиться к нему, введите в браузере следующее:
http://SERVER_IP:8080
Обязательно замените SERVER_IP на IP-адрес, если ваш сервер или локальный хост работает локально. Если вы видите страницу с панелью поиска, то все в порядке.
Для дальнейшего контроля вы можете отредактировать приведенные выше файлы и включить аргумент java -Xmx, чтобы указать объем используемой оперативной памяти, или любую другую опцию Java, которую вы хотите передать.
Чтобы администрировать экземпляр сервера кода поиска, вам нужно нажать ссылку «Администратор» в правом верхнем углу. Введите пароль по умолчанию Adm1n234 (измените его в файле свойств), чтобы добавить репозитории git. Если вам нужна помощь, проверьте страницу документации (ссылка внизу каждой страницы).
Чтобы настроить использование Ubuntu в качестве задания обновления или SystemD, см. https://searchcodeserver.com/knowledge-base/upstart-and-systemd-startup-scripts-for-ubuntu.html.
Всегда имейте в виду, что обновления лучше всего выполнять с полным переиндексированием. Вы можете сделать это, удалив содержимое индексного каталога, который вы настроили в файле searchcode.properties, или нажав кнопку «Повторное сканирование и перестроение индексов» на экране администратора.
Чтобы обновить текущий экземпляр кода поиска, выполните следующие шаги.
Остановите текущий экземпляр сервера кода поиска.
Сделайте резервную копию текущих экземпляров файлов searchcode.properties и searchcode.sqlite.
Распакуйте пакет в новый каталог.
Вы можете либо
Запустите свой экземпляр снова
Войдите в экран администратора и нажмите кнопку «Повторное сканирование и перестроение индексов».
Также стоит сравнить ваш файл searchcode.properties с новым (или со страницей документации), так как вы можете использовать новую конфигурацию. Также обязательно проверьте страницу настроек, так как, скорее всего, вы сможете использовать новые настройки.
Размер фоновых изображений изменяется с помощью следующей команды перед их фиксацией.
convert 1.jpg -quality 75 -resize 1600x1200 1.jpg
Если вы хотите использовать Luke для проверки индекса, вам нужно будет использовать любую версию, соответствующую lucence в pom.xml. В настоящее время это 5.5.0, поэтому вам нужно будет использовать ту же версию luke https://github.com/DmitryKey /люк/релизы/тег/люк-5.5.0
Авторские права (c) 2016 г. Boyter Online Services
Использование этого программного обеспечения регулируется лицензией Fair Source, включенной в файл LICENSE.txt.
Чтобы справиться с ситуацией в случае моей смерти или отказа от этого программного обеспечения, в нем есть пункт об открытом доступе, согласно которому лицензия будет изменена ровно через 3 года после даты публикации выпуска версии. Это означает, что если версия 1.0.0 была выпущена 1 июля 2010 г., то ее можно будет использовать с использованием указанной альтернативной лицензии 2 июля 2013 г. Эта лицензия, версия и время указаны ниже.
После следующей даты, ПОКА НЕ УКАЗАНО, версия программного обеспечения «1.3.15» лицензируется двойной лицензией по лицензии Fair Source License, включенной в файл LICENSE.txt, или по GNU General Public License версии 3 с условиями, указанными на https://www.gnu. .org/licenses/gpl-3.0.txt
База данных OWASP находится под лицензией https://creativecommons.org/licenses/by-sa/3.0/, получена на условиях Creative Commons с 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/.