Mode 1 : Votre outil SonarQube est déjà en place  

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) 
  • Extensions à exclure : Vous pouvez ici lister plusieurs extensions de fichiers, séparées par des virgules, pour que Themis ne prennent pas en compte ces fichiers.

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. 

Versions de SonarQube supportées

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

Mode 2 : Themis effectue les analyses SonarQube

Ce mode vous concerne dans le cas où vous n'avez pas encore déployé d'outil SonarQube, ou bien si vous souhaitez déléguer l'analyse du code à Themis. 

Themis ne va déployer lui-même un serveur SonarQube. Si vous souhaitez déployer un serveur SonarQube, vous pouvez suivre la documentation officielle. Vous pouvez également déployer l'outil via Docker. Voici par exemple un service que vous pouvez ajouter dans votre configuration Docker Compose de Themis :

 sonarqube:
    image: sonarqube:6.7.5
    container_name: sonarqube
    ports:
      - 9000:9000
      - 9001:9001

Cet exemple de configuration exécute SonarQube sans bases de données relationnelles pour persister la donnée. C'est donc adapté pour de petits volumes de données (quelques sources). Au-delà, une configuration plus complète sera nécessaire, et le lancement d'analyses dans une intégration continue est préconisée.

Nous vous recommandons ensuite de vérifier l'installation des plugins dans SonarQube via le Marketplace. Un plugin permet la prise en charge d'un langage de programmation particulier. 

Themis va ensuite prendre en charge l'analyse du code via l'utilitaire sonar-scanner.

Préparez ensuite votre source en activant le mode "Linter embarqué", puis en ajoutant un sous-plugin pour "Linter-Embarqué - SonarQube". Dans les paramètres de configuration, renseignez pour les champs suivants :

  • URL :  l'adresse de l'instance SonarQube 
  • Les credentials administrateur (par défaut, admin/admin).
  • Les sources à analyser. Liste des répertoires de code source à prendre en compte dans l'analyse, séparée par des virgules. Par défaut, la racine du dépôt. 
  • Exclusion de fichiers : Liste des motifs de chemin de fichiers à exclure, séparées par des virgules.
  • Inclusion de fichiers : Liste des motifs de chemin de fichiers à inclure, séparées par des virgules. Si ce paramètre est présent, seuls les fichiers correspondants au motif seront pris en compte.

Plus d'informations sur la documentation officielle.

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.