Un SonarScanner est disponible pour .Net Core. Nous allons voir comment l’installer puis l’utiliser.
Tout d’abord, créons un nouveau projet. Si vous avez suivi le précédent tutoriel, se connecter à http://localhost:8000.
Même si l’on va analyser un code .Net Core, Java est requis ! |
Création du projet
Dans l’interface, cliquer sur le "+" en haut à droite, puis "Create new project" :
Renseigner un identifiant du projet et un nom d’affichage et cliquer sur "Set Up" :
Il faut alors créer un token si vous n’en disposez pas déjà d’un. Si l’on fait l’hypothèse qu’il s’agit du premier projet, nous n’avons pas de token, donc créons-en un.
Choisir "Generate a token", choisir un nom et cliquer "Generate".
Noter précieusement la valeur du token et cliquer sur "Continue".
Installation du SonarScanner
SonarQube fournit un scanner .Net Core. L’installation se fait simplement par la commande suivante :
dotnet tool install --global dotnet-sonarscanner
Configuration du SonarScanner
Pour éviter de taper systématiquement l’URL de SonarQube et le token, il est possible de configurer le scanner.
La documentation précise qu’il faut mettre le fichier SonarQube.Analysis.xml
dans le répertoire d’installation mais on ne sait pas exactement où a été installé l’utilitaire avec la commande précédente.
La commande where dotnet-sonarscanner
retourne alors C:\Users\<username>\.dotnet\tools\dotnet-sonarscanner.exe
. C’est presque ça.
Ouvrir l’explorateur et aller dans C:\Users\<username>\.dotnet\tools\.store\dotnet-sonarscanner\4.8.0\dotnet-sonarscanner\4.8.0\tools\netcoreapp3.0\any\
. Le chemin est à adapter en fonction de la version .Net Core à utiliser.
Editer le fichier SonarQube.Analysis.xml
pour y mettre l’URL et le token généré précédemment :
<SonarQubeAnalysisProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.sonarsource.com/msbuild/integration/2015/1">
<Property Name="sonar.host.url">http://localhost:8000</Property>
<Property Name="sonar.login">[my-user-token]</Property>
</SonarQubeAnalysisProperties>
Scanner
Une fois le scanner configuré, le scan s’effectue en 3 étapes :
-
Démarrer le scan avec la commande
dotnet sonarscanner begin /k:"project-key"
-
Construire le projet, tester, etc. avec la commande
dotnet build
-
Analyser et envoyer à SonarQube avec la commande
dotnet sonarscanner end