Searchcode Server ist eine leistungsstarke Code-Suchmaschine mit einer eleganten Web-Benutzeroberfläche.
Der Searchcode-Server arbeitet mit Ihrem Quellcodeverwaltungssystem zusammen und indiziert Tausende von Repositorys und Dateien, sodass Sie und Ihre Entwickler Code schnell finden und teamübergreifend wiederverwenden können.
Weitere Informationen finden Sie unter https://searchcodeserver.com/ oder unter http://demo.searchcodeserver.com/ für eine Live-Demo, bei der mehrere Projekte mithilfe von GIT und SVN indiziert werden.
Wenn Sie aus dem Quellcode erstellen, erhalten Sie keinen Support und müssen innerhalb der Einschränkungen der Fair-Source-Lizenz arbeiten (Einzelheiten finden Sie in LICENSE.txt). Um Support zu erwerben, siehe https://searchcodeserver.com/pricing.html
Wenn Sie Code zur Integration in den Searchcode-Server einreichen möchten, geben Sie bitte an, dass er über eine Doppellizenz unter Apache Public License v2 und GPL v3 verfügt. Dies ermöglicht den direkten Einzug, ohne dass Sie sich in Zukunft um Lizenzprobleme kümmern müssen.
Bevor Sie eine Übermittlung vornehmen, stellen Sie sicher, dass Sie sie ausführen (erfordert fabric<2.0 EG pip install 'fabric<2.0').
fab test
Alle Tests müssen bestanden werden, bevor eine Einreichung akzeptiert wird.
Um einen Suchcode-Server zu erstellen, benötigen Sie einen beliebigen Windows-, Linux- oder OSX-Computer mit installiertem Java 11 und Maven-Setup. Idealerweise möchten Sie ein Unix-Betriebssystem mit installiertem Python und Python Fabric verwenden.
Beachten Sie, dass Fabric-Aufgaben (Fab) derzeit unter Windows nicht unterstützt werden. Sie können versuchen, sie zu verwenden, müssen dies jedoch wahrscheinlich unter Bash für Windows oder etwas Ähnlichem tun.
Um die Javascript-Komponententests auszuführen, führen Sie sie bei Bedarf in Ihrem Browser aus, indem Sie sie öffnen
./src/test/javascript/index.html
Um die Anwendung zu testen, können Sie entweder ausführen
mvn test
oder
fab test
Beachten Sie, dass diese Tests nur einige Integrations- und Javascript-Einheiten abdecken. Für einen vollflächigen Lauf
fab test_full
während die Anwendung im Hintergrund läuft, um sicherzustellen, dass alles wie erwartet funktioniert.
Um einen vollständigen IE-Release zu erstellen, der für die Produktion bereit ist, sollten Sie Folgendes ausführen
fab build_release
Dadurch wird die Kompilierung getestet, eine Version im Release-Ordner erstellt und die Datei „searchcode-server.tar.gz“ erstellt, die eine bereitstellungsbereite Version ist.
Wenn Sie einfach testen und ausführen möchten, können Sie ausführen
fab run
Dies ist jedoch die Standardeinstellung. Erstellen Sie ein Paket und führen Sie es aus. Um es schnell auszuführen, öffnen Sie einfach die IDE Ihrer Wahl und starten Sie App.java
Es gibt eine Reihe spezieller Tests, mit denen überprüft wird, ob die Indizierungslogik für GIT- und Dateirepositorys ordnungsgemäß funktioniert. Um dies auszuführen, müssen Sie eines der folgenden Shell-Skripte ausführen:
./assets/integration_test/gitload/gitload.sh
./assets/integration_test/gitupdate/gitupdate.sh
./assets/integration_test/fileupdatetest/fileload.sh
./assets/integration_test/fileload/fileload.sh
Fügen Sie dann die Git-Repositories als GIT-Repositories in der Anwendung und die Datei-Repositories als FILE-Repositories hinzu. Es ist auch nützlich, die Eigenschaften festzulegen
check_repo_chages=60
check_filerepo_changes=60
aber es ist nicht erforderlich. Führen Sie dann Suchcode aus. Die Skripte fügen alle 60 Sekunden Dateien hinzu/entfernen/aktualisieren, was den Suchcode dazu zwingen sollte, Dateien zum Index hinzuzufügen/aktualisieren/entfernen, um so viele Codepfade wie möglich zu erreichen. Wenn dies erledigt ist, sollten zu keinem Zeitpunkt mehr als 400 Dokumente indiziert werden (wenn alle 4 Repositorys indiziert werden) und mindestens 201 (die fileload.sh-Dateien + fileupdatetest-Dateien + gitupdate-Dateien). Lassen Sie die Dinge über mehrere Stunden laufen, um sicherzustellen, dass die Logik ordnungsgemäß funktioniert.
Bevor eine Veröffentlichung erfolgt, muss ein Build alle oben genannten Prüfungen bestehen, wobei die Indexer-Logiktests mindestens 24 Stunden lang ausgeführt werden müssen. Um sicherzustellen, dass die Leistung akzeptabel ist, werden die Tests auch auf einem Atom-Netbook durchgeführt.
Um den Searchcode-Server lokal auszuführen, muss ein Windows-, Linux- oder OSX-Computer mit Java 11 installiert sein. Das Testen und Verpacken erfolgte mit der folgenden Version.
$ 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)
Dekomprimieren Sie die heruntergeladene Datei in ein Verzeichnis, in dem Sie den Searchcode-Server ausführen möchten. Dieses Verzeichnis sollte über mehr Speicherplatz verfügen als die Größe der Repositorys, die Sie indizieren möchten.
Nach dem Entpacken sollten Sie unter der Annahme, dass sich Java in Ihrem Pfad befindet (überprüfen Sie dies mit dem Befehl java -version), in der Lage sein, Suchcode mit dem folgenden Befehl für Linux/OSX/BSD auszuführen
./searchcode-server.sh
oder für Windows
searchcode-server.bat
Nach wenigen Augenblicken sollte der Searchcode-Server betriebsbereit sein. Standardmäßig wird es auf Port 8080 ausgeführt. Um eine Verbindung herzustellen, geben Sie Folgendes in den Browser ein:
http://SERVER_IP:8080
Stellen Sie sicher, dass Sie SERVER_IP durch die IP-Adresse ersetzen, wenn Ihr Server bzw. localhost lokal ausgeführt wird. Wenn Sie eine Seite mit einer Suchleiste sehen, ist alles in Ordnung.
Zur weiteren Kontrolle möchten Sie möglicherweise die oben genannten Dateien bearbeiten und das Argument java -Xmx einschließen, um die zu verwendende RAM-Menge anzugeben, oder eine andere Java-Option, die Sie übergeben möchten.
Um Ihre Searchcode-Serverinstanz zu verwalten, müssen Sie oben rechts auf den Admin-Link klicken. Geben Sie das Standardkennwort Adm1n234 ein (ändern Sie dieses über die Eigenschaftendatei), um Git-Repositorys hinzuzufügen. Wenn Sie Hilfe benötigen, schauen Sie auf der Dokumentationsseite nach (Link unten auf jeder Seite).
Informationen zur Einrichtung mit Ubuntu als Update- oder SystemD-Job finden Sie unter https://searchcodeserver.com/knowledge-base/upstart-and-systemd-startup-scripts-for-ubuntu.html
Denken Sie immer daran, dass Upgrades am besten mit einer vollständigen Neuindizierung durchgeführt werden. Sie können dies entweder tun, indem Sie den Inhalt des Indexverzeichnisses löschen, das Sie in Ihrer Datei searchcode.properties konfiguriert haben, oder indem Sie im Admin-Bildschirm auf die Schaltfläche „Indizes erneut crawlen und neu erstellen“ klicken.
Um Ihre aktuelle Suchcode-Instanz zu aktualisieren, führen Sie die folgenden Schritte aus.
Stoppen Sie Ihre aktuelle Instanz des Searchcode-Servers
Erstellen Sie eine Sicherungskopie Ihrer aktuellen Instanzdateien „searchcode.properties“ und „searchcode.sqlite“.
Dekomprimieren Sie das Paket in ein neues Verzeichnis.
Sie können entweder
Starten Sie Ihre Instanz erneut
Melden Sie sich beim Admin-Bildschirm an und klicken Sie auf die Schaltfläche „Indizes erneut crawlen und neu erstellen“.
Es lohnt sich auch, Ihre searchcode.properties-Datei mit der neuen Datei (oder der Dokumentationsseite) zu vergleichen, da es möglicherweise neue Konfigurationen gibt, die Sie verwenden können. Überprüfen Sie auch unbedingt die Einstellungsseite, da dort wahrscheinlich neue Einstellungen vorhanden sind, die Sie verwenden können.
Die Größe aller Hintergrundbilder wird vor dem Festschreiben mit dem folgenden Befehl geändert
convert 1.jpg -quality 75 -resize 1600x1200 1.jpg
Wenn Sie Luke zum Überprüfen des Index verwenden möchten, müssen Sie die Version verwenden, die mit Lucence in pom.xml übereinstimmt. Derzeit ist dies 5.5.0, Sie müssten also dieselbe Version von Luke https://github.com/DmitryKey verwenden /luke/releases/tag/luke-5.5.0
Copyright (c) 2016 Boyter Online Services
Die Nutzung dieser Software unterliegt der Fair Source-Lizenz, die in der Datei LICENSE.txt enthalten ist
Um den Fall meines Todes oder der Aufgabe dieser Software zu bewältigen, gibt es eine offene Klausel, nach der sich die Lizenz genau drei Jahre nach dem Veröffentlichungsdatum einer Versionsveröffentlichung ändert. Dies bedeutet, dass Version 1.0.0, wenn sie am 1. Juli 2010 veröffentlicht wurde, am 2. Juli 2013 mit der aufgeführten alternativen Lizenz genutzt werden kann. Diese Lizenz, Version und Zeit sind unten aufgeführt.
Nach dem folgenden NOCH NICHT ANGEGEBENEN Datum ist die Softwareversion „1.3.15“ doppelt lizenziert unter der Fair Source License, die in der Datei LICENSE.txt enthalten ist, oder unter der GNU General Public License Version 3 mit den unter https://www.gnu angegebenen Bedingungen .org/licenses/gpl-3.0.txt
Die OWASP-Datenbank ist lizenziert unter https://creativecommons.org/licenses/by-sa/3.0/ und wurde unter Creative Commons von https://codecrawler.codeplex.com/ https://www.owasp.org/index.php/ bezogen. Kategorie:OWASP_Code_Crawler und https://www.owasp.org/index.php/OWASP_Code_Review_Guide_Table_of_Contents Diese Datenbank wurde auf JSON geändert und ggf. mit geringfügigen Korrekturen an Rechtschreibung und Zeichensetzung.
Die Dateiklassifizierungsdatenbank ist unter https://creativecommons.org/licenses/by-sa/3.0/ lizenziert.