[JAVA] Inspection continue en 5 minutes avec SonarQube

sonarqube-projects.png

Essayez SonarQube, un outil d'inspection continue qui prend en charge plus de 20 langages (partiellement chargés) tels que Java, JavaScript, C #, Python, PHP, dans un environnement local en 5 minutes. Notez la méthode.

Cet article est basé sur l'environnement macOS.

Installez SonarQube

Installez SonarQube avec Homebrew.

$ brew install sonarqube

Lancez SonarQube

SonarQube peut être démarré avec brew services start sonarqube.

$ brew services start sonarqube
==> Successfully started `sonarqube` (label: homebrew.mxcl.sonarqube)

Accéder au tableau de bord SonarQube

Essayez d'accéder au tableau de bord SonarQube depuis votre navigateur. Le premier accès prendra un certain temps.

http://localhost:9000

sonarqube-dashboard.png

Installer le scanner SonarQube

Installez le scanner SonarQube avec Homebrew. SonarQube Scanner analyse le projet et enregistre les résultats de l'analyse dans SonarQube.

$ brew install sonar-scanner

Analyser un exemple de projet

Clonez un exemple de projet Java basé sur VideoStore, un exemple de refactoring de Martin Fowler, et analysez-le avec 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

Paramètres d'analyse

Clé La description
sonar.projectKey La clé de projet spécifie une valeur unique pour chaque projet.
sonar.sources Spécifiez le répertoire contenant les fichiers source sous la forme d'un chemin séparé par des virgules.
sonar.tests Spécifiez le répertoire contenant le fichier de test sous la forme d'un chemin séparé par des virgules.
sonar.jacoco.reportPaths Spécifie le chemin d'accès au fichier de rapport généré par Jacoco, la bibliothèque de couverture de code Java.
sonar.java.binaries Spécifiez le répertoire contenant le fichier bytecode compilé sous la forme d'un chemin séparé par des virgules.

Vérifiez le résultat de l'analyse de l'exemple de projet

Vous pouvez vérifier le résultat de l'analyse de l'exemple de projet en accédant à SonarQube à partir d'un navigateur.

http://localhost:9000/dashboard?id=videostore

sonarqube-videostore.png


Expliqué comment exécuter SonarQube localement dans les 5 minutes pour analyser un exemple de projet. Je pense que c'est une bonne idée d'envisager de l'introduire en exploitant SonarQube ou en analysant d'autres projets. SonarQube Scanner dispose également d'un plug-in pour les outils CI tels que Jenkins, il est donc recommandé de le configurer pour qu'il fonctionne avec les outils CI en fonctionnement réel. Si vous avez envie de travailler avec Jenkins, écrivons un article.

Les références

https://docs.sonarqube.org/display/SONAR/Documentation

Recommended Posts

Inspection continue en 5 minutes avec SonarQube
"Hello, World!" Avec Kotlin + CLI en 5 minutes
Objet de valeur en 3 minutes
Japaneseize en utilisant i18n avec Rails
Collecte des ordures G1 en 3 minutes
API Java Stream en 5 minutes
Développement facile d'applications Web avec STS et Spring Boot. Dans 10 minutes.