
Plattform für Codequalität und statische Analyse mit Qualitäts-Gates, mehrsprachigem Scannen und sicherheitsorientierten Regeln, um Schwachstellen und Wartbarkeitsprobleme in CI/CD-Workflows zu erkennen.
SonarQube bietet die Möglichkeit, nicht nur den Zustand einer Anwendung anzuzeigen, sondern auch neu eingeführte Probleme hervorzuheben. Mit einem Quality Gate können Sie Clean Code erreichen und so die Codequalität systematisch verbessern.
Bei Support-Fragen („Wie mache ich das?“, „Ich habe diesen Fehler, warum?“, ...) lesen Sie bitte zuerst die Dokumentation und wenden Sie sich dann an die SonarSource Community. Die Antwort auf Ihre Frage wurde wahrscheinlich bereits beantwortet! 🤓
Beachten Sie, dass dieses Forum eine Community ist, daher sind die üblichen Höflichkeiten („Hi“, „Danke“, ...) erwünscht. Und wenn Sie keine Antwort auf Ihren Thread erhalten, sollten Sie sich mindestens drei Tage gedulden, bevor Sie ihn wieder nach oben holen. Es stehen keine Operatoren bereit. 😄
Wenn Sie eine neue Funktion wünschen oder einen Fehler melden möchten, erstellen Sie bitte einen neuen Thread in unserem Forum.
Bitte beachten Sie, dass wir nicht aktiv nach Funktionsbeiträgen suchen. Die Wahrheit ist, dass es für jemanden außerhalb von SonarSource äußerst schwierig ist, unsere Roadmap und Erwartungen zu erfüllen. Daher akzeptieren wir in der Regel nur kleinere kosmetische Änderungen und Tippfehlerkorrekturen.
Wenn Sie vor diesem Hintergrund einen Codebeitrag einreichen möchten, erstellen Sie bitte einen Pull-Request für dieses Repository. Bitte erläutern Sie Ihre Beweggründe für diesen Beitrag: Welches Problem versuchen Sie zu beheben, welche Verbesserung versuchen Sie zu erreichen?
Stellen Sie sicher, dass Sie unseren Codestil befolgen und alle Tests bestanden werden (für jeden Pull-Request wird ein Travis-Build ausgeführt).
Möchten Sie zu SonarSource-Produkten beitragen? Wir suchen kluge, leidenschaftliche und qualifizierte Menschen, die uns helfen, erstklassige Lösungen für Codequalität zu entwickeln. Werfen Sie einen Blick auf unsere aktuellen Stellenangebote!
Um die Quellen lokal zu erstellen, befolgen Sie diese Anweisungen.
-x test zum Gradle-Befehl hinzufügen (nützlich, wenn Sie nur ohne Ausführung der Tests erstellen möchten)Führen Sie im Basisverzeichnis des Projekts aus:
./gradlew build
Die Zip-Verteilungsdatei wird in sonar-application/build/distributions/ erzeugt. Entpacken Sie sie und starten Sie den Server, indem Sie Folgendes ausführen:
# on Linux
bin/linux-x86-64/sonar.sh start
# or on MacOS
bin/macosx-universal-64/sonar.sh start
# or on Windows
bin\windows-x86-64\StartSonar.bat
Wenn das Projekt noch nie erstellt wurde, erstellen Sie es wie gewohnt (siehe vorheriger Abschnitt) oder verwenden Sie den schnelleren Befehl:
./gradlew ide
Öffnen Sie dann die Stammdatei build.gradle als Projekt in IntelliJ oder Eclipse.
| ./gradlew command | Beschreibung |
|---|---|
dependencies | Abhängigkeiten auflisten |
spotlessApply | Quellkopfzeilen durch Anwenden von HEADER korrigieren |
wrapper --gradle-version 5.2.1 | Wrapper aktualisieren |
Die SonarQube-UI (oder Webapp, wie wir sie nennen) befindet sich in einem anderen Repository: sonarqube-webapp.
Beim Erstellen des sonarqube-Repositorys wird die Webapp automatisch als Abhängigkeit von Maven Central heruntergeladen. Das erleichtert es Ihnen, Backend-Änderungen beizutragen, ohne sich um die Webapp kümmern zu müssen.
Wenn Ihr Beitrag jedoch auch UI-Änderungen enthält, müssen Sie das Repository sonarqube-webapp klonen, dort Ihre Änderungen vornehmen, es lokal erstellen und dann das Repository sonarqube mithilfe der Umgebungsvariablen WEBAPP_BUILD_PATH erstellen, um Ihren benutzerdefinierten Build der UI anzusteuern.
Hier ist ein Beispiel, wie Sie vorgehen:
cd /path/to/sonarqube-webapp/server/sonar-web
# do your changes
# install dependencies, only needed the first time
yarn
# build the webapp
yarn build
cd /path/to/sonarqube
# build the sonarqube repository using the custom build of the webapp
WEBAPP_BUILD_PATH=/path/to/sonarqube-webapp/server/sonar-web/build/webapp ./gradlew build
Sie können auch eine bestimmte Version der Webapp ansteuern, indem Sie die Eigenschaft webappVersion in der Datei ./gradle.properties aktualisieren und dann das Repository sonarqube normal erstellen.
Historisch wurden unsere Übersetzungen in sonar-core/src/main/resources/org/sonar/l10n/core.properties gespeichert, aber diese Datei ist inzwischen veraltet und wird nicht mehr aktualisiert.
Standardübersetzungen (in Englisch) werden jetzt im Webapp-Repository definiert, hier:
https://github.com/SonarSource/sonarqube-webapp/blob/master/libs/sq-server-shared/src/l10n/default.ts
Das Format hat sich geändert, aber Sie können es weiterhin als Datei im .properties-Format erhalten, indem Sie den folgenden Befehl ausführen:
cd /path/to/sonarqube-webapp/server/sonar-web
# install dependencies, only needed the first time
yarn
# generate a backward compatible .properties file with all the translation keys
yarn generate-translation-keys
Beachten Sie, dass das Beitragen von Erweiterungen für Übersetzungen in andere Sprachen weiterhin wie zuvor funktioniert. Es hat sich nur die maßgebliche Quelle der Standardübersetzungen geändert.
Copyright (C) SonarSource Sàrl.
Lizenziert unter der GNU Lesser General Public License, Version 3.0.