SonarQube-Community-Integration
Verbessern Sie Ihre C/C++-Codequalität mit SonarQube- und CppDepend-Integration
In der heutigen wettbewerbsintensiven Softwareentwicklungslandschaft ist die Sicherstellung von Codequalität und Wartbarkeit für den Erfolg jedes Projekts entscheidend. Die Integration von SonarQube Community Edition mit CppDepend bietet Entwicklern eine leistungsstarke kombinierte Lösung für nahtlose Codeanalyse.
In diesem Leitfaden führen wir Sie durch den Prozess der Integration dieser beiden leistungsstarken Tools, damit Sie die Codequalität und Wartbarkeit Ihres Projekts maximieren und gleichzeitig die technischen Schulden minimieren können. Entdecken Sie, wie diese Integration Ihren Entwicklungsprozess revolutionieren und Ihr Projekt zum Erfolg führen kann.
- Plug-in-Voraussetzungen
- Installieren des CppDepend-Plug-ins
- Konfigurieren Sie das CppDepend-Plug-in
- Aktivieren Sie die CppDepend-Regeln im Sonar-Server
- Sonar-Scanner ausführen
- CppDepend-Regel-Issues in der SonarQube-UI durchsuchen
WICHTIG:
Bevor Sie CppDepend auf einem Computer verwenden, müssen Sie zuerst Ihre SonarQube-Lizenz aktivieren oder Ihren Evaluierungszeitraum beginnen Entpacken Sie dazu einfach die CppDepend-Dateien auf dem Rechner und starten Sie VisualCppDepend.exe einmal. Wenn Ihr Rechner mit dem Internet verbunden ist, durchlaufen Sie einen kurzen Aktivierungsprozess.
Falls Ihr Rechner keine Internetverbindung hat, wird ein alternatives Offline-Aktivierungsverfahren angeboten. Dieser Schritt ist für den Betrieb des SonarQube-CppDepend-Plugins zwingend erforderlich.
Bitte beachten Sie, dass das CppDepend-SonarQube-Plugin mit SonarQube-Versionen 5.6 und höher kompatibel ist.
Plug-in-Voraussetzungen
- Installieren SonarrQube
Herunterladen http://www.sonarqube.org/downloads/ - Installieren sonar-scanner
Installationsdoku https://docs.sonarqube.org/9.8/analyzing-source-code/scanners/sonarscanner/ - Mit einer vorhandenen C++-Sonar-Erweiterung
Es könnte die SonarQube-C++-Erweiterung oder das SonarQube-C++-Community-Plugin von https://github.com/SonarOpenCommunity/sonar-cxx
WICHTIG: Falls für C++ noch keine Erweiterung installiert ist, konsultieren Sie bitte die Dokumentation für die SonarQube-Standalone-Integration.
Installieren Sie die CppDepend-Erweiterung
CppDepend stellt die SonarQube-Erweiterungen bereit in $InstallDir/Integrations/SonarQube
- Bei Java kopieren Sie sonar-jarchitect-plugin-1.0.jar
- Bei der C++-SonarQube-Erweiterung kopieren Sie sonar-cxx-cppdepend-sqplugin.jar
- Im Fall der SonarQube Community-Version 2 und höher kopieren Sie sonar-cxx-cppdepend-community-2.jar
- Und im Fall der SonarQube Community-Version 1 kopieren Sie sonar-cxx-cppdepend-community-1.jar
- aus dem $CppDependInstallDir$\Integrations\SonarQube Verzeichnis
- zum $SonarQubeInstallDir$\extensions\plugins Verzeichnis
- Starten Sie den SonarQube-Server neu, damit das CppDepend-Plugin berücksichtigt wird.
Konfigurieren Sie das CppDepend-Plug-in
Gehen Sie in der SonarQube-Benutzeroberfläche zu Verwaltung Dazu müssen Sie mit den entsprechenden Administratorrechten angemeldet sein.

- OBLIGATORISCH Geben Sie den vollständigen Pfad des CppDepend-SonarQube-Regelscanners an. Für Windows ist es CppDepend.SonarQube.RuleRunner.exe (Windows), CppDepend.SonarQube.RuleRunner (Linux, macOS) aus dem $CppDependInstallPath$\Libs Verzeichnis. Stellen Sie dem Pfad keinen Umgebungsvariablenpfad voran, sondern schreiben Sie den vollständigen absoluten Pfad (befolgen Sie diesen Rat für alle Pfadangaben in dieser Dokumentation).
- OPTIONAL Geben Sie den Pfad der CppDepend-Projektdatei an (.cdproj Erweiterung), aus der die Regeln geholt werden. Wenn nicht angegeben, wird der Standard-CppDepend-Regelsatz verwendet.
Wenn Sie den Pfad der CppDepend-Projektdatei angeben, werden die aktivierten Regeln berücksichtigt, die definiert sind in:- Die CppDepend-Projektdatei,
- Regeln, die in den CppDepend-Regeldateien definiert sind, auf die die CppDepend-Projektdatei verweist
Aktivieren Sie die CppDepend-Regeln im Sonar-Server
Die CppDepend-Regeln sind nun im SonarQube-Repository geladen, aber noch nicht aktiviert. Um sie zu aktivieren, müssen Sie:
- Als Admin in der SonarQube-Benutzeroberfläche anmelden
- Gehen Sie zu Qualitätsprofile Tab
- Erstellen Sie ein benutzerdefiniertes Quality Profile. Wenn Sie bereits eines haben, können Sie diesen Schritt überspringen.

- Stellen Sie sicher, dass Sie das Profil "Sonar way" als übergeordnetes Profil Ihres neuen Quality Profile wählen:

- Nach dem Erstellen des benutzerdefinierten Quality Profile müssen Sie die CppDepend-Regeln hinzufügen. Klicken Sie dazu auf Mehr aktivieren Schaltfläche:

- Wählen Sie CppDepend Repository und klicken Sie auf Massenänderung Schaltfläche und aktivieren Sie alle CppDepend-Regeln in Ihrem neuen Quality Profile:

- Gehen Sie schließlich zurück zum Quality-Profile-Tab und setzen Sie das neue Quality Profile als Standard:

Aktivieren der CppDepend-Regeln (vor SonarQube v6.X)
- Als Admin in der SonarQube-Benutzeroberfläche anmelden
- Gehen Sie zu Regeln Tab
- Auswählen Sprache C++ und Repository: CppDepend

- Aktivieren Sie diese Regeln im gewünschten Profil, indem Sie auf Massenänderung – Aktivieren in:

WICHTIG:
Beachten Sie, dass der behandeln einer Regel ist der Regelname zusammen mit den Namen der übergeordneten Gruppe(n) und dem Regelquellcode. Diese Anmerkung ist wichtig in der Situation, wenn:
- Das für die Analyse verwendete CppDepend-Projekt enthält einen benutzerdefinierten Regelsatz
- Das CppDepend-Projekt, das in der SonarQube-Konfiguration angegeben wird, um die Regeln im SonarQube-System zu definieren (Parameter CppDepend-Regeln aus cdproj, siehe vorheriger Abschnitt) unterscheidet sich vom CppDepend-Projekt, das für die Analyse verwendet wird.
In einer solchen Situation werden die Regeln im SonarQube-System nicht aufgelöst und die Probleme nicht berechnet, wenn die beiden Regelsätze nicht exakt übereinstimmen.
Falls in Ihrem benutzerdefinierten Regelsatz Regeln hinzugefügt oder entfernt wurden:
- Starten Sie den SonarQube-Server neu, damit er das in der SonarQube-Konfiguration angegebene CppDepend-Projekt parst, um die Regeln zu definieren
- Gehen Sie erneut in Regeln Registerkarte als Administrator angemeldet, um diese neuen/entfernten Regeln gegebenenfalls über Massenänderung Aktion.
Sonar-Scanner ausführen
Hier ist SonarQube-Dokumentation zum Ausführen von Sonar-Scanner über das Befehlszeilenargument.
Der Parameter der CppDepend-Projektdatei ist obligatorisch -D sonar.cpp.cppdepend.projectPath={'{'}the path of cdproj{'}'}.
Sie können den CppDepend-Scanner auch über die Befehlszeile angeben, falls dies nicht in der SonarQube-Erweiterungskonfiguration erfolgt ist
C/C++ unter Windows
C/C++ unter Linux/macOS
Java unter Windows
Java unter Linux/macOS
Tipp: Verwenden Sie keine Umgebungsvariablen in Pfaden, und wenn der Pfad ein Leerzeichen enthält, setzen Sie ihn in doppelte Anführungszeichen -Dsonar.cpp.cppdepend.projectPath="C:\work with space\project.cdproj"
CppDepend-Regel-Issues in der SonarQube-UI durchsuchen
- CppDepend-Regel-Issues werden nun wie alle Issues in der SonarQube-UI gemeldet.
- Sie können es durchsuchen, zur Quellcode-Deklaration springen (in der UI), es zuweisen, seinen Status ändern...

HINWEISE:
Falls einige Issues in der SonarQube-UI fehlen:
- Prüfen Sie, ob Sie alle in diesem Dokument erklärten Schritte zur Regelaktivierung befolgt haben.
- Prüfen Sie dann doppelt, ob die betreffende Regel tatsächlich aktiviert ist, indem Sie kontrollieren, ob sie mindestens ein Issue ausgibt.
- In einem solchen Fall fehlen einige Probleme, weil die Quelldatei-Deklaration ihrer übergeordneten Typen nicht gefunden wurde. Typischerweise passiert dies bei Typen und ihren Membern, die vom Compiler generiert wurden.
Testen Sie CppDepend noch heute
Starten Sie Ihre 14-tägige kostenlose Testversion mit vollem Zugriff auf alle Dokumentationsfunktionen. Keine Kreditkarte erforderlich.
