jeudi 5 février 2015

Insufficient privileges avec SonarQube 5.0 et Jenkins

Problème

Suite au passage a SonarQube 5.0 les jobs jenkins qui étaient responsable de faire l'analyse Sonar ne fonctionnaient plus. 

J'avais comme erreur : 
Caused by: java.lang.IllegalStateException: {"errors":[{"msg":"Insufficient privileges"}]}

Après quelque recherche je me suis rendu compte que c'était lié au changement de profil qualité (Quality Profiles).

Solution

Prérequis:
Avoir les accès admin sur Sonar et Jenkins
  • Créer dans Sonar un utilisateur 
  • Aller dans le fichier sonar.properties sur le file system
  • Ajouter dans le fichier : sonar.security.localUsers: {utilisateur-technique-crée}
  • Aller dans la configuration Jenkins (Adminstrer Jenkins > Configurer le système)
  • Puis dans la partie 'Installations de Sonar'
  • Dans 'Login du compte Sonar' mettre le login de l'utilisateur sonar crée
  • Dans 'Mot de passe du compte Sonar' mettre le mdp associé au login
  • Aller dans l'interface web de Sonar
  • Cliquer sur 'Settings' puis 'Global Permissions'
  • Ajouter l'utilisateur défini dans Jenkins pour les permissions de : Execute Analysis et Execute Preview Analysis
  • Ensuite pour chaque projets il faut attribuer le droit de 'BROWSE' à l'utilisateur technique
Après ces modifications mes builds sonar fonctionnaient de nouveau.

Plus d'infos sur les utilisateurs techniques de sonar : http://docs.sonarqube.org/display/SONAR/Authentication#Authentication-TechnicalUsers

Enjoy !