web-dev-qa-db-fra.com

intégration de gitlab avec sonarqube

J'ai GitLab CE (v8.5 au moins) installé sur mon serveur. Je voudrais l'intégrer à sonarqube afin que les demandes de fusion montrent des problèmes dans la section des commentaires. Quelqu'un at-il intégré ces 2 systèmes avec succès?

Pour le moment, seul le plugin sonarqube que j'ai trouvé est le suivant, mais je ne suis pas en mesure de l'intégrer avec succès à GitLab.

https://gitlab.talanlabs.com/gabriel-allaigre/sonar-gitlab-plugin

J'ai utilisé un conteneur docker pour sonarqube (v5.5) et copié le plugin dans le répertoire d'extensions. Configuré le jeton utilisateur gitlab et l'urit gitlab dans la page de configuration du plugin dans sonarqube.

J'utilise GitLab CI pour une intégration continue et j'ai le travail de construction suivant pour sonarqube (en utilisant gradle)

sh gradlew sonarqube -Psonar.analysis.mode=preview -Psonar.issuesReport.console.enable=true \
  -Psonar.gitlab.commit_sha=$CI_BUILD_REF -Psonar.gitlab.ref_name=$CI_BUILD_REF_NAME \
  -Psonar.gitlab.project_id=$CI_PROJECT_ID

Mais je ne sais pas quoi faire après ça. Quelques questions:

  1. Que se passe-t-il lorsqu'une demande de fusion n'existe pas encore? Dans mon workflow git, les utilisateurs soumettront une demande de fusion une fois qu'ils auront fini de travailler sur leur branche. Alors, comment ce plugin saura-t-il quelle demande de fusion mettre à jour?

  2. À l'heure actuelle, la tâche de valorisation sonarqube est définie pour s'exécuter uniquement sur la branche principale. Je pense que cela devra également être changé pour les branches d'utilisateurs, non?

J'ai essayé de soumettre une demande de fusion, mais je n'ai vu aucun commentaire ajouté. Je pense qu'il me manque une configuration ou un processus. J'apprécie vraiment si vous pouvez m'aider à me diriger dans la bonne direction.

26
aver

@ 1: les commentaires seront ajoutés à vos validations et apparaîtront ensuite dans la section de discussion d'une demande de fusion

@ 2: Nous effectuons une analyse complète sur le maître et un aperçu sur toutes les branches.

2
Roman Pickl

J'ai eu le même problème que le vôtre. Les commentaires n'étaient pas affichés dans le GitLab MR. Je l'ai fait fonctionner avec deux correctifs:

  • assurez-vous que le mode de prévisualisation est utilisé. Si ce n'est pas le cas, les problèmes ne sont pas signalés à GitLab
  • pour que les problèmes apparaissent sous forme de commentaires GitLab, ils doivent être de "nouveaux" problèmes. Si vous avez lancé une analyse de votre projet avant de passer à GitLab, les problèmes ne seront pas considérés comme nouveaux par SonarQube et aucun commentaire ne sera ajouté au MR.

Si cela ne résout pas votre problème, essayez de cloner le référentiel de plug-ins, en ajoutant des traces au code (CommitIssuePostJob.Java est l'endroit où chercher), empaquetez le pot avec maven et déployez le pot patché sur votre installation Sonar. C'est ainsi que j'ai vu que je n'avais aucun nouveau problème à signaler.

2
la_urre