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 avec Homebrew.
$ brew install sonarqube
SonarQube peut être démarré avec brew services start sonarqube
.
$ brew services start sonarqube
==> Successfully started `sonarqube` (label: homebrew.mxcl.sonarqube)
Essayez d'accéder au tableau de bord SonarQube depuis votre navigateur. Le premier accès prendra un certain temps.
http://localhost:9000
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
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
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. |
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
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.
https://docs.sonarqube.org/display/SONAR/Documentation
Recommended Posts