Configuration de Sonarqube
SonarQube offre un aperçu de la qualité et de la santé générale de votre code source et met en évidence les problèmes détectés dans le nouveau code. Les analyseurs de code détectent les bogues sensibles, comme par exemple les déréférences d'un pointeur NULL, les erreurs logiques et les fuites de ressources dans plus de 20 langages de code.
Configurez SonarQube pour analyser et mesurer en continu la qualité de votre code source :
-
Dans la console IBM Cloud, cliquez sur l'
Menu > Automatisation de la plateforme > Chaînes d'outils. Sur la page Chaînes d'outils, cliquez sur la chaîne d'outils afin d'ouvrir sa page Vue d'ensemble. Vous pouvez également, depuis votre page de présentation de l'application, sur la carte Distribution continue, cliquer sur Afficher la chaîne d'outils. Ensuite, cliquez sur Vue d'ensemble.
a. Cliquez sur Ajouter un outil.
b. Dans la section Intégrations d'outils, cliquez sur SonarQube.
-
Saisissez un nom pour cette instance de l'intégration d'outils SonarQube.
-
Entrez l'URL de l'instance SonarQube que vous souhaitez ouvrir lorsque vous cliquez sur la carte SonarQube depuis votre chaîne d'outils.
-
Facultatif : entrez le nom d'utilisateur que vous utilisez pour vous connecter au serveur SonarQube.
Vous devez uniquement spécifier un nom d'utilisateur si vous utilisez un mot de passe pour vous connecter au serveur SonarQube. Si vous utilisez un jeton d'authentification pour la connexion, laissez cette zone vide.
-
Entrez le mot de passe ou le jeton d'authentification que vous utilisez pour vous connecter au serveur SonarQube.
-
Si le serveur ne peut pas se trouver sur Internet public, sélectionnez Avancé. IBM Cloud ne peut pas valider les détails de connexion que vous fournissez et certaines fonctions nécessitant un accès API à ce serveur sont désactivées. Le pipeline de distribution fonctionne uniquement à l'aide d'un agent privé qui dispose d'un accès réseau à ce serveur.
-
Cliquez sur Créer une intégration.
-
Sur la page Présentation de la chaîne d'outils, sur la carte Outils tiers, cliquez sur SonarQube pour afficher le tableau de bord de l'instance SonarQube à laquelle vous vous êtes connecté.
Ajout de Sonarqube au pipeline d'intégration continue
Instance SonarQube par défaut
Si vous n'avez pas votre propre instance SonarQube, le pipeline crée une instance SonarQube lors de l'exécution du pipeline. Vous pouvez accéder à cette instance après l'exécution réussie de l'étape static-scan.
Instance SonarQube existante
Pour ajouter votre propre instance SonarQube à votre pipeline existant, ajoutez l'intégration d'outils à votre chaîne d'outils, puis ajoutez le paramètre d'intégration de l'outil Sonarqube au pipeline.
Paramètres obligatoires
Pour exécuter l'analyse SonarQube, le pipeline a besoin des paramètres d'intégration continue suivants :
Nom | Type | Description | Requise ou facultative |
---|---|---|---|
cluster-name | texte | Nom du cluster de génération Docker. | Obligatoire |
dev-region | texte | Région IBM Cloud qui héberge le cluster. | Obligatoire |
opt-in-sonar | texte | Option permettant d'activer l'analyse sonarQube. | Obligatoire |
sonarqube | intégration des outils | Intégration de l'outil Sonarqube. | Facultatif |
Pour plus d'informations sur les paramètres des pipelines, voir Paramètres des pipelines.
Si vous ajoutez plusieurs intégrations d'outils SonarQube à votre pipeline, vous pouvez passer de l'une à l'autre en modifiant la valeur du paramètre de pipeline sonarqube, qui est un paramètre d'intégration d'outils.
Mise à jour du seuil de qualité
Si vous utilisez l'instance SonarQube que le pipeline a créé, vous pouvez mettre à jour le seuil de qualité par défaut.
-
Accédez au tableau de bord SonarQube qui a été créé par l'URL à partir des journaux de pipeline dans la tâche
static-scan
.SonarQube dashboars -
Cliquez sur Quality Gates > Create.
-
Définissez votre seuil de qualité à l'aide de l'une des options suivantes :
- Cliquez sur Set as Default pour définir le nouveau seuil de qualité comme seuil par défaut.
- Dans le tableau de bord, sélectionnez le projet, puis cliquez sur Paramètres du projet > Quality Gate pour utiliser le nouveau seuil de qualité créé pour le projet.
-
Indiquez le seuil de qualité à associer au projet. Les nouvelles analyses sont évaluées en fonction de ce seuil de qualité et la preuve est créée sur la base des résultats du seuil de qualité.
Pour en savoir plus sur SonarQube, voir la documentationSonarQube.
Utilisation de votre propre fichier de configuration
Vous pouvez modifier la configuration par défaut sans utiliser votre propre instance SonarQube. Créez un fichier sonar-project.properties
dans le référentiel dans lequel vous souhaitez créer le fichier de configuration. Si notre
script détecte un fichier configuration sonar-project.properties
existant dans le référentiel, il utilise ce fichier au lieu du fichier par défaut. Pour plus d'informations sur les paramètres d'analyse possibles dans le fichier
de configuration, voir Paramètres d'analyse ici.
Veillez à ajouter les données d'identification de connexion et l'URL d'hôte correctes dans le fichier de configuration.
Utilisation d'une autre implémentation d'analyse statique
Vous pouvez modifier votre fichier .pipeline-config.yaml
pour ajouter votre propre script personnalisé à l'étape static-scan
afin d'utiliser votre propre implémentation d'analyse statique.
Configuration de SonarQube à l'aide de l'API
L'intégration d'outils SonarQube prend en charge les paramètres de configuration suivants que vous pouvez utiliser avec l'API HTTP Toolchain et les logiciels SDK lorsque vous créez, lisezet mettez à jour les intégrations d'outils.
Vous devez spécifier la propriété tool_type_id
dans le corps de la demande avec la valeur sonarqube
.
Paramètre | Utilisation | Type | Argument Terraform | Description |
---|---|---|---|---|
connexion_aveugle | facultatif, actualisable, " Default: false |
Booléen | connexion_aveugle | Définissez sur true pour indiquer à Continuous Delivery d'ignorer la validation de la configuration de cette intégration. Définissez également la valeur true si le serveur SonarQube n'est pas adressable sur l'Internet
public. |
dashboard_url | requis, pouvant être mis à jour | Chaîne | url_serveur | URL des tableaux de bord du serveur SonarQube pour cette intégration d'outils. Dans l'interface graphique, le navigateur accède à ce tableau de bord lorsque vous cliquez sur la carte d'intégration d'outils SonarQube. |
nom | requis, pouvant être mis à jour | Chaîne | nom | Nom de cette intégration d'outils. |
connexion_utilisateur | facultatif, pouvant être mis à jour | Chaîne | connexion_utilisateur | ID utilisateur pour l'authentification auprès du serveur SonarQube. |
motdepasse_utilisateur | facultatif, pouvant être mis à jour | Mot de passe | motdepasse_utilisateur | Mot de passe ou jeton à authentifier auprès du serveur SonarQube. Vous pouvez utiliser une référence de secrets de chaîne d'outils pour ce paramètre. Pour plus d'informations sur les références de secrets, voir Protection de vos données sensibles dans Continuous Delivery. |