Intégration SonarQube
Lors de la création d'un projet, il peut être souhaitable d'intégrer SonarQube afin de déléguer l'analyse du code du projet.
Configurer SonarQube pour GitLab
Vous devez configurer un jeton d'intégration entre GitLab et SonarQube.
Créer un jeton d'accès dans GitLab
- Connectez-vous à votre instance GitLab (
gitlab.darkmat.fr
). - Accédez à vos paramètres de profil (
Profile Settings
) en cliquant sur votre avatar en haut à droite. - Dans le menu latéral, sélectionnez Access Tokens.
- Créez un nouveau jeton avec les permissions
api
etread_user
. Nommez le jeton par exemplesonarqube-access-token
. - Copiez le jeton généré, car vous en aurez besoin plus tard.
Configurer un jeton dans SonarQube
- Connectez-vous à SonarQube (
sonar.darkmat.fr
) avec un compte administrateur. - Accédez à Administration > Security > Users et créez un nouvel utilisateur dédié à GitLab, ou utilisez votre propre compte.
- Créez un token d'accès pour cet utilisateur sous My Account > Security > Tokens. Donnez-lui un nom descriptif, comme
gitlab-sonarqube-token
. - Copiez le jeton généré.
Configurer votre projet GitLab pour l'analyse SonarQube
Vous allez maintenant configurer le fichier .gitlab-ci.yml
dans votre projet pour intégrer SonarQube.
Ajouter des variables d'environnement dans GitLab
-
Allez dans les Settings du projet GitLab que vous voulez intégrer à SonarQube.
-
Sous CI/CD > Variables, ajoutez les variables suivantes :
SONAR_HOST_URL
:http://sonar.darkmat.fr
(ouhttps://sonar.darkmat.fr
si vous utilisez HTTPS)SONAR_TOKEN
: Le jeton d'accès généré depuis SonarQubeCI_PROJECT_KEY
: Un identifiant unique pour le projet, que vous définirez également dans SonarQube
Configurer le fichier .gitlab-ci.yml
Ajoutez ou modifiez le fichier .gitlab-ci.yml
de votre projet GitLab pour inclure un job SonarQube. Voici un exemple basique :
stages:
- build
- test
- sonarqube
sonarqube-check:
stage: sonarqube
image:
name: sonarsource/sonar-scanner-cli:latest
entrypoint: [""]
script:
- sonar-scanner
-Dsonar.projectKey="$CI_PROJECT_KEY"
-Dsonar.sources=.
-Dsonar.host.url="$SONAR_HOST_URL"
-Dsonar.login="$SONAR_TOKEN"
only:
- main
Configurer le projet dans SonarQube
- Dans SonarQube, allez dans Projects > Create Project.
- Donnez un nom et un identifiant au projet (
projectKey
). Utilisez le mêmeprojectKey
que celui défini dans le fichier.gitlab-ci.yml
et les variables CI/CD de GitLab. - SonarQube vous fournira un autre token spécifique pour ce projet (si besoin). Vous pouvez l'ajouter dans GitLab, mais généralement, le token utilisateur suffit.
Exécuter une pipeline CI/CD dans GitLab
- Faites un
commit
etpush
sur votre dépôt GitLab pour déclencher la pipeline CI/CD. - GitLab va exécuter l'analyse SonarQube en utilisant le job configuré.
- Une fois le job terminé, vous pourrez voir les résultats de l'analyse dans SonarQube sous votre projet.