SonarQube
Description
Ce template permet d'ajouter :
- Un job qui s'éxécute sur votre branche par défaut et effectue une analyse globale
- Un job qui s'éxécute sur toutes les autres branches et qui effectue une analyse permettant de commenté les Merge Request en cas d'erreur.
Il possède comme pré-requis :
- La variable SONAR_TOKEN contenant votre token SonarQube doit être présente dans votre CI/CD
- La variable SONAR_HOST_URL doit être présente dans votre CI/CD
- La variable SONAR_PROJECT_KEY contenant l'identifiant de votre projet dans SonarQube doit être présente dans votre CI/CD
Pour plus d'information, voir la rubrique Administrer Sonarqube
Compatibilité de langage
Le template détecte et exécute les scripts pour les languages suivants :
- Java (maven)
- Perl
Si vous avez un besoin pour la mise en place d'un job pour un autre langage, vous pouvez soumettre la demande via un ticket sur le projet du support de la géoplateforme
Utilisation
:warning: Pré-requis: Ce template nécessite un job nommé
test
qui effectuera les tests unitaires et les traitements nécessaires à l'analyse sonar à stocker dans un artefact.
Voici un exemple:
test:
stage: test
image: maven:3.8.3-openjdk-17
script:
- mvn clean test
artifacts:
paths:
- // emplacement fichier jacoco.xml
expire_in: 1 week
Puis, ajouter le code suivant dans votre fichier .gitlab-ci.yml
include:
- project: geoplateforme/templates
ref: main
file:
- '/ci/sonarqube.yml'
Ces jobs se déclenchent sur l'étape test