IBM Cloud Docs
Configuration des analyses SonarQube

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 :

  1. Dans la console IBM Cloud, cliquez sur l'icône de menu 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.

  2. Saisissez un nom pour cette instance de l'intégration d'outils SonarQube.

  3. Entrez l'URL de l'instance SonarQube que vous souhaitez ouvrir lorsque vous cliquez sur la carte SonarQube depuis votre chaîne d'outils.

  4. 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.

  5. Entrez le mot de passe ou le jeton d'authentification que vous utilisez pour vous connecter au serveur SonarQube.

  6. 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.

  7. Cliquez sur Créer une intégration.

  8. 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 sur default, 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 :

Table 1. Continuous integration pipeline parameters
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.

  1. 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.

    Tableau de bordSonarQube
    Figure 1. SonarQube

  2. Cliquez sur Quality Gates > Create.

  3. 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.
  4. 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.