Configuration des analyses 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'icône de menu
et sélectionnez DevOps. 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 spécifier un nom d'utilisateur uniquement 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 l'Internet public, sélectionnez Avancé. IBM Cloud ne peut pas valider les détails de connexion que vous fournissez et certaines fonctions qui nécessitent 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
sonarqube-config
est défini surdefault
, SonarQube est utilisé par défaut pour l'analyse. Cette analyse s'exécute en tant que Docker-in-Docker.
L'instance utilisée est disponible uniquement lors de l'exécution. Par conséquent, vous ne pouvez pas accéder au tableau de bord.
-
Par défaut, le pipeline utilise l'édition de communauté SonarQube qui ne comporte que des vérifications checks.Many et les problèmes hostspot ne sont pas traités sous Community Edition.
-
Pour vérifier si une vulnérabilité est vérifiée dans l'édition Community, voir thread in Sonarqube community question
-
L'implémentation par défaut qui est l'instance SonarQube Community Edition enregistrée auprès de CISO n'est pas une édition edition.SonarQube Enterprise Edition approuvée par ITSS est la seule édition approuvée par ITSS.
Pour télécharger SonarQube, voir SonarQube Downloads
Instance SonarQube sur le cluster de développement
Si sonarqube-config
est défini sur cluster
, le pipeline crée une instance SonarQube lors de l'exécution du pipeline dans le cluster de développement. Vous pouvez accéder à cette instance une fois que l'étape d'analyse
statique a été runs.You pouvez accéder au tableau de bord SonarQube en local par réacheminement de port.
Instance SonarQube existante
Définissez sonarqube-config
sur custom
, 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 d'outils
SonarQube au pipeline. Pour plus d'informations, voir Configuration de SonarQube.
Paramètres
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 d'outils | Intégration de l'outil Sonarqube. | Facultatif |
sonarqube-config | Texte | Exécute une analyse SonarQube dans un conteneur Docker-in-Docker isolé (configuration par défaut) ou dans un cluster Kubernetes de développement existant (configuration de cluster). Vous pouvez également utiliser votre propre instance
SonarQube et configurer l'intégration d'outils SonarQube (configuration personnalisée). Options: default , cluster ou custom . La valeur par défaut est default . Pour plus d'informations,
voir (Ajout de SonarQube au pipeline d'intégration continue). |
Obligatoire |
opt-in-sonar-hotspots | Texte | Le scanner Sonarqube permet de détecter les points d'accès. | 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.
Plug-in installés dans SonarQube
DevSecOps Pipelines utilise SonarQube version 10.0 par défaut.
Pour en savoir plus sur la liste des plug-in préinstallés, voir Plug-in
Problèmes signalés par SonarQube
DevSecOps Pipelines filtre les problèmes signalés lors de l'analyse SonarQube. Les pipelines créent exclusivement des incidents de conformité pour les problèmes qui ne sont pas de type CODE_SMELL
ou BUG
. Le pipeline
ignore également les problèmes dont le statut est CLOSED
.
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
.Figure 1. SonarQube -
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 jalon de qualité que vous souhaitez 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.
Plus d'informations sur SonarQube
Pour en savoir plus sur SonarQube, voir Intégrer votre analyse SonarQube dans votre chaîne d'outils.