Après avoir installé Jenkins dans le post précédent, nous allons voir maintenant comment interfacer celui-ci avec notre environnement SonarQube.
Si vous n’avez pas suivi depuis le début cette série sur l’installation d’un environnement d’analyse de code avec SonarQube, voici les articles dont nous aurons besoin aujourd’hui :
- Installation d’un JDK Java.
- L’installation de SonarQube lui-même, bien sûr.
- Le post précédent sur l’installation de Jenkins.
Vous pouvez également regarder la documentation SonarQube sur la configuration du SonarQube Jenkins Plugin.
Download et installation du plugin SonarQube pour Jenkins
Commençons d’abord par lancer Jenkins, c’est-à-dire l’application web correspondante sous Tomcat (http://localhost:8888/jenkins dans mon environnement).
Dans la page d’administration de Jenkins, activer le menu de gestion des plugins.
Dans la page suivante, sélectionner l’onglet des plugins disponibles:
Rechercher puis sélectionner le plugin SonarQube. Je vous conseille d’effectuer une recherche sur la chaîne de caractères ‘Sonar’ afin de trouver plus rapidement le plugin dans cette liste particulièrement longue.
En bas de page, activer le bouton ’Install without restart’: Jenkins lance l’installation et, une fois celle-ci terminée…
… , nous avertit que le plugin SonarQube a été actualisé. Nous pouvons revenir dans la page d’administration de Jenkins afin de sélectionner le menu de configuration, qui va nous permettre de paramétrer notre installation SonarQube.
Configuration du SonarQube Runner
Jenkins va utiliser le SonarQube Runner (que nous avons installé précédemment).
Afin de configurer celui-ci, nous retournons dans la page d’administration de Jenkins afin d’activer le menu de configuration de celui-ci.
Remarquez dans cette page la première ligne qui indique le répertoire de travail de Jenkins, que nous avons configuré dans le post précédent.
Plus bas, Jenkins nous permet de configurer ou voire même d’installer un JDK.
Ce n’est pas nécessaire si vous avez procédé comme nous l’avons indiqué lors de l’installation d’un JDK Java, en créant une variable JAVA_HOME avec l’indication, dans le path de la machine, du répertoire contenant les exécutables du JDK.
En dessous, une section consacrée au SonarQube Runner va nous permettre de configurer celui-ci pour Jenkins. Tout d’abord, cliquer le bouton qui permet d’ajouter une instance de SonarQube Runner:
Ce qui aura pour effet d’ouvrir la section de configuration de celui-ci:
Dans cette section:
- Décocher la check-box d’installation automatique.
- Donner un nom à votre instance de SonarQube Runner.
- Indiquer la localisation de celui-ci.
Et finalement, n’oubliez pas de sauvegarder vos paramètres. C’en est fini.
Configuration de SonarQube
La configuration de SonarQube dans Jenkins va suivre la même logique. Toujours dans cette même page de configuration du ‘système Jenkins’, repérez la section consacrée à SonarQube:
Comme auparavant, cliquer sur le bouton qui permet de créer une nouvelle instance de SonarQube.
Jenkins nous demande alors de saisir un nom afin d’identifier notre installation de SonarQube.
Ensuite seulement, vous pouvez cliquer le bouton ‘Advanced…’ (‘Avanzado…’ dans mon interface) afin d’ouvrir une page qui va nous permettre d’indiquer les différents paramètres de configuration.
Ceux-ci sont les mêmes que ceux indiqués dans le fichier ‘sonar-properties’ de SonarQube. Il suffit donc d’ouvrir ce fichier pour reprendre ces mêmes paramètres:
Nous indiquons donc:
- L’url de notre application web SonarQube.
- L’adresse de notre base de données.
- Le driver JDBC pour accéder à la base de données.
J’ai indiqué également le user Oracle et son password, pour accéder au schéma Sonar (même si j’ai en fait utilisé les valeurs par défaut). Je n’ai pas indiqué de user SonarQube pour effectuer les analyses, puisque je ne l’avais pas fait non plus lors de l’installation du SonarQube Runner.
N’oubliez pas de sauvegarder les paramètres saisis à l’aide du bouton situé en bas de page.
Et voilà. Il ne nous reste plus qu’à créer une analyse SonarQube sous Jenkins.
Ce que nous verrons dans notre prochain article. Très bientôt.
Cette publication est également disponible en Leer este articulo en castellano : liste des langues séparées par une virgule, Read that post in english : dernière langue.