Probieren Sie SonarQube aus, ein Tool zur kontinuierlichen Überprüfung, das innerhalb von 5 Minuten mehr als 20 Sprachen (teilweise aufgeladen) wie Java, JavaScript, C #, Python, PHP in einer lokalen Umgebung unterstützt. Notieren Sie sich die Methode.
Dieser Artikel basiert auf der macOS-Umgebung.
Installieren Sie SonarQube mit Homebrew.
$ brew install sonarqube
SonarQube kann mit Brew Services Start Sonarqube
gestartet werden.
$ brew services start sonarqube
==> Successfully started `sonarqube` (label: homebrew.mxcl.sonarqube)
Versuchen Sie, über Ihren Browser auf das SonarQube-Dashboard zuzugreifen. Der erste Zugriff dauert einige Zeit.
http://localhost:9000
Installieren Sie den SonarQube Scanner mit Homebrew. SonarQube Scanner analysiert das Projekt und registriert die Analyseergebnisse in SonarQube.
$ brew install sonar-scanner
Klonen wir ein Java-Beispielprojekt basierend auf VideoStore, einem Beispiel für "Refactoring" von Martin Fowler, und analysieren es mit SonarQube Scanner.
$ git clone https://github.com/takuya0301/videostore.git
$ cd videostore
$ ./gradlew test
$ sonar-scanner \
-Dsonar.projectKey=videostore \
-Dsonar.sources=src/main \
-Dsonar.tests=src/test \
-Dsonar.jacoco.reportPaths=build/jacoco/test.exec \
-Dsonar.java.binaries=build/classes
Schlüssel | Erläuterung |
---|---|
sonar.projectKey | Der Projektschlüssel gibt für jedes Projekt einen eindeutigen Wert an. |
sonar.sources | Geben Sie das Verzeichnis mit den Quelldateien als durch Kommas getrennten Pfad an. |
sonar.tests | Geben Sie das Verzeichnis mit der Testdatei als durch Kommas getrennten Pfad an. |
sonar.jacoco.reportPaths | Gibt den Pfad zu der von Jacoco, der Java-Codeabdeckungsbibliothek, generierten Berichtsdatei an. |
sonar.java.binaries | Geben Sie das Verzeichnis mit der kompilierten Bytecode-Datei als durch Kommas getrennten Pfad an. |
Sie können das Analyseergebnis des Beispielprojekts überprüfen, indem Sie über einen Browser auf SonarQube zugreifen.
http://localhost:9000/dashboard?id=videostore
Erklärt, wie SonarQube innerhalb von 5 Minuten lokal ausgeführt wird, um ein Beispielprojekt zu analysieren. Ich denke, es ist eine gute Idee, die Einführung durch den Betrieb von SonarQube oder die Analyse anderer Projekte in Betracht zu ziehen. SonarQube Scanner verfügt auch über ein Plug-In für CI-Tools wie Jenkins. Es wird daher empfohlen, es so einzustellen, dass es im tatsächlichen Betrieb mit CI-Tools funktioniert. Wenn Sie mit Jenkins arbeiten möchten, schreiben wir einen Artikel.
https://docs.sonarqube.org/display/SONAR/Documentation
Recommended Posts