Il existe différente façon de faire tourner SonarQube sur Windows.
Mon choix s’est porté sur Docker pour sa simplicité et sa portabilité. SonarQube fournit une image officielle, autant en profiter.
Cet article fait l’hypothèse que vous avez un environnement Docker fonctionnel. |
Prérequis
Pour assurer la persistance de l’installation, nous allons créer des répertoires sur le disque. Ces répertoires contiendront :
-
La base de données
-
La configuration
-
Les plugins
-
Les logs
-
etc.
Pour ce faire, ouvrir un prompt PowerShell et exécuter les commandes suivantes :
$SONARQUBE_HOME="C:\temp\sonarqube"
mkdir $SONARQUBE_HOME
mkdir $SONARQUBE_HOME/conf
mkdir $SONARQUBE_HOME/extensions
mkdir $SONARQUBE_HOME/logs
mkdir $SONARQUBE_HOME/data
Récupérer SonarQube
Récupérons maintenant SonarQube. Il existe différentes versions disponibles sur Docker Hub mais nous allons utiliser l’image officielle et la version 8.1 community.
docker pull sonarqube:8.1-community-beta
Exécuter SonarQube
Une seule ligne de commande est nécessaire pour faire tourner SonarQube. Toujours dans le prompt PowerShell (noter les `
ci-dessous), exécuter :
docker run -d --name sonarqube `
-p 8000:9000 ` (1)
-v $SONARQUBE_HOME/conf:/opt/sonarqube/conf ` (2)
-v $SONARQUBE_HOME/extensions:/opt/sonarqube/extensions `
-v $SONARQUBE_HOME/logs:/opt/sonarqube/logs `
-v $SONARQUBE_HOME/data:/opt/sonarqube/data `
-e sonar.forceAuthentication=true ` (3)
-e sonar.telemetry.enable=false `
sonarqube:8.1-community-beta (4)
1 | Sur mon poste, le port 9000 étant déjà pris, j’ai fait correspondre le port 9000 de SonarQube avec mon port 8000. Avec cette commande, SonarQube sera donc accessible à l’adresse http://localhost:8000 |
2 | Suis une série de ligne pour créer des volumes, c’est-à-dire faire correspondre un répertoire local avec un répertoire dans le container |
3 | Il est possible de configurer SonarQube en passant des paramètres au démarrage |
4 | On retrouve ici la version 8.1 Community |
Comme le container est présent sur le poste, il démarre rapidement.
Après quelques minutes, en accédant à http://localhost:8000, vous aurez l’écran de login. Il ne restera plus qu’à saisir admin/admin :
cette version 8.1 vient avec tous les analyseurs de code standard (C#, JS, etc.). Des profils de base sont créés, il est donc possible de passer directement à la création d’un projet) |
Arrêter SonarQube
Lorsque SonarQube n’est plus nécessaire, il est possible de l’arrêter :
docker stop sonarqube
Et pour reprendre ultérieurement :
docker start sonarqube
Nettoyage
Et si vous voulez nettoyer, 2 commandes pour supprimer le container et l’image :
docker rm sonarqube
docker image rm sonarqube