Linter externe - SonarQube

Ce mode suppose que vous ayez installé et paramétré votre propre instance de SonarQube. Grâce à ce plugin, Themis va interroger directement SonarQube et la mise à jour des données de Themis devra être exécutée après votre analyse SonarQube habituelle. 

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 Dette technique 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 execution SonarQube se termine (voir-ci-dessous). Si oui, Themis attendra sur une période allant de -20 minutes à +45 minutes.  

Droits d'administration 

Themis utilise dans son analyse les dates de dernières exécution 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 éxecutez une analyse, vous remarquerez que le contenu suivant est indiqué en sortie d'éxecution :


[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 comprendre 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.