Sonar Rapport

De EjnTricks
Révision de 1 octobre 2015 à 23:13 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Sonar permet la présentation synthétique de rapport sur les projets en fonction des métriques mises en place.


Multiples-icon.png Gestion des branches

Dans le cadre des projets, il n'est pas rare d'utiliser les possibilités de branches sur le code source. Ceci permet d'avoir une version "stable", des versions de travail dites "branches" et potentiellement des forks. Or il peut être souhaité de pouvoir réaliser des rapports sur l'ensemble de ces branches simultanément.

Par défaut, les rapports vont venir en collision car les modules auront le même nom dans chacune des branches et les métriques viendront s'écraser.

Dans le cadre de TIKA, les études ont été réalisées sur les différentes versions (1.0 à 1.5) de ce framework. Le code et les résultats pouvant être différents d'une étude à l'autre, il était important d'avoir un rapport pour chacun des projets. Pour rappel, la définition d'une des branches de l'étude, où est spécifiée la version du projet.

Heureusement, ce cas est prévu avec la variable sonar.branch permettant de distinguer les différentes versions d'un même projet. L'utilisation de Sonar étant essentiellement réalisée à travers Jenkins, aucune modification des variables d'environnement, du pom ou autre n'est réalisée. Tout ceci s'effectue au niveau de la configuration du projet sous Jenkins.

Un projet pour chacune des versions de l'étude est créé sous Jenkins.


Au niveau des paramètres du job, il faut modifier la configuration de la section Sonar. Attention celle-ci est repliée par défaut et il est nécessaire de cliquer sur le bouton Avancé.


Une fois la section dépliée, l'option Branche, par défaut vide, est alors disponible. Dans le cadre de l'étude de TIKA, le numéro de version du pom est repris dans cette option.


Une fois les analyses effectuées, un rapport par version configurée est constaté dans l'interface Sonar.