Couverture de test - Extracteur SonarQube

Paramétrer un plugin de ce type suppose que vous ayez déjà déployé une instance de SonarQube, et que vous ayez effectué les paramétrages nécessaires pour suivre la couverture de test. Si ce n'est pas encore le cas, les liens suivants vous indiqueront la marche à suivre : configuration de sonar pour la couverture de tests Java et rapports de tests sonar.

Vous allez devoir configurer ce plugin pour permettre à Themis d'interroger SonarQube sur les données liées à la couverture de test. 

Rendez-vous dans la partie Administration > Projets, ouvrez la liste des sources du projet concerné, puis la liste des plugins et enfin, cliquez sur le bouton Ajouter un plugin :

plugin_configuration.png

Dans la fenêtre de configuration, sélectionnez la pratique Couverture de test et le type de plugin Linter externe - SonarQube. Vous devez alors configurer les champs suivants :

  • Url : Indiquez ici l'url de votre instance SonarQube 
  • Clé du projet : Il s'agit de l'identifiant unique d'un projet dans SonarQube. Cet identifiant est accessible sur la vue dédiée au projet dans la partie de droite :

  • Utilisateur/Mot de passe. Renseignez ici des identifiants SonarQube avec un privilège administrateur (voir ci-dessous) 
  • Attendre une fin d'analyse : Indiquez vrai si Themis doit attendre qu'une exécution SonarQube se termine (voir-ci-dessous). Si oui, Themis attendra sur une période allant de -20 minutes à +45 minutes.  
  • Extensions : Listes séparés par des virgules d'extensions de fichiers concernés par la couverture de test. Exemple : indiquez .java,.js si vous mesurez la couverture de fichiers Javascript et Java.

Droits d'administration 

Themis utilise dans son analyse les dates de dernières exécutions de SonarQube. Ce point est important car il permet à Themis d'exclure de son calcul les commits qui ont eu lieu après le début de l'analyse SonarQube et diminue ainsi le risque de faux-positifs. Les services Web proposés par SonarQube et permettant d'accéder à cette information requièrent des privilèges administrateurs. C'est pour cette raison que des identifiants sont demandés. 

Attendre une fin d'analyse

A partir de la version 5.3 de SonarQube, ses analyses ont pour caractéristique de se terminer en tâche de fond. Lorsque vous exécutez une analyse, vous remarquerez que le contenu suivant est indiqué en sortie d'exécution :


[INFO] ANALYSIS SUCCESSFUL, you can browse http://localhost:9001/dashboard/index/promyze-themis:depot-test-git:master
[INFO] Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
[INFO] More about the report processing at http://localhost:9001/api/ce/task?id=AVs3_21cHyP-JD_I9WxJ

Cela signifie que l'analyse SonarQube n'est pas complètement terminée. Plusieurs calculs sont encore à effectuer du côté de l'instance. Cette opération peut prendre aussi bien quelques secondes que plusieurs minutes suivant le volume de données à traiter. Ainsi, il est judicieux que Themis attende si besoin que l'analyse en cours se termine.

Ce cas est pertinent si votre projet comprend un nombre important de lignes de code (> 100 000 lignes) et si vous avez programmé la mise à jour de Themis après chaque analyse SonarQube. Pour avoir une idée du temps d'analyse réel dans SonarQube, rendez-vous sur la page d'un projet puis dans l'onglet Administration (vous devez être connecté avec un compte Administrateur).

Versions de SonarQube supportées

Actuellement, ce plugin est compatible à partir de SonarQube version 4.5.2 jusqu'à la version 6.2.

Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 0 sur 0

Commentaires

0 commentaire

Veuillez vous connecter pour laisser un commentaire.