Mise en place d'une chaîne d'outils CI
Ce tutoriel vous explique comment utiliser le modèle de chaîne d'outils pour l'intégration continue (CI) avec Security and Compliance Center les pratiques liées à DevSecOps. Le modèle est préconfiguré pour le déploiement continu (CD) avec l'intégration de l'inventaire, la gestion des changements avec Git Repos and Issue Tracking, la collecte de preuves et le déploiement vers IBM Cloud Kubernetes Service.
Vous pouvez personnaliser et gérer de manière centralisée les paramètres IAM pour les comptes de votre entreprise afin de respecter les normes internes et de conformité.
Avant de commencer
- Complétez le tutoriel Mise en place des prérequis.
- Regardez la Démarrer avec DevSecOps dans IBM Cloud vidéo.
Démarrage de la configuration de la chaîne d'outils CI
Le service Continuous Delivery fournit des modèles qui vous guident dans la configuration de la chaîne d'outils et créent des processus dans un ordre logique. Un indicateur de progression indique les étapes à suivre pour terminer la configuration. Suivez les étapes pour accéder au modèle de la chaîne d'outils CI.
- Dans la console IBM Cloud, cliquez sur Menu
, et sélectionnez DevOps.
- Sur la page Chaînes d'outils, cliquez sur Créer une chaîne d'outils.
- Cliquez sur la tuile CI - Développer une application sécurisée avec les pratiques DevSecOps.
Configurer les paramètres de la chaîne d'outils CI
La page d'accueil résume l'objectif de la chaîne d'outils et propose des liens vers la documentation et le matériel connexe.
-
Cliquez sur Start.
-
Saisissez un nom de la chaîne d'outils unique dans votre chaîne d'outils pour la même région et le même groupe de ressources dans le IBM Cloud.
-
Sélectionnez une région.
-
Sélectionnez un Groupe de ressources.
-
Cliquez sur Continu.
Vous ne pouvez passer à l'étape suivante que si la configuration de l'étape en cours est terminée et valide. Vous pouvez toujours cliquer sur Retour pour afficher les étapes précédentes de l'installation guidée. Tous les paramètres de configuration définis au cours des étapes successives sont conservés dans le programme d'installation de la chaîne d'outils.
Certaines étapes comprennent un bouton bascule vers la configuration avancée. Ces étapes vous présentent par défaut la configuration minimale. Toutefois, les utilisateurs avancés qui ont besoin d'un contrôle plus fin peuvent cliquer sur le bouton Basculer vers la configuration avancée pour révéler les options de l'intégration sous-jacente.
Mise en place d'intégrations d'outils de CI
Examinez les paramètres par défaut et fournissez les configurations définies par l'utilisateur lorsque cela est nécessaire pour mettre en place l'intégration de l'outil CI.
Application
- Select Source Provider as Git Repos and Issue Tracking.
- Le comportement par défaut de la chaîne d'outils est Utiliser l'exemple d'application par défaut. La chaîne d'outils ne prend actuellement en charge que les liens vers les dépôts existants Git Repos and Issue Tracking. Pour plus d'informations sur Apporter votre propre application, voir Apporter votre propre application à DevSecOps.
- Saisissez un nom unique pour Nouveau nom du référentiel.
- Cliquez sur Continu.
Inventaire Ansible
Le référentiel d'inventaire enregistre les détails des artefacts générés par les chaînes d'outils CI.
- Vous pouvez accepter la configuration par défaut fournie dans le modèle ou modifier la configuration en fonction de vos besoins.
- Cliquez sur Continu.
Problèmes
Le référentiel de problèmes enregistre les problèmes détectés lors de l'exécution du pipeline d'EC.
- Vous pouvez accepter la configuration par défaut fournie dans le modèle ou modifier la configuration en fonction de vos besoins.
- Cliquez sur Continuer
Secrets
Spécifiez les intégrations de coffre-fort secret à ajouter à votre chaîne d'outils à l'aide des cases à cocher. Pour plus d'informations, voir Gestion des IBM Cloud secrets.
La chaîne d'outils CI prend en charge uniquement les types de secret secrets arbitraires et données d'identification IAM.
- Ce tutoriel utilise IBM Cloud® Secrets Manager comme coffre pour les secrets. Les zones Région, Groupe de ressources et Nom du service sont automatiquement renseignées en fonction des choix disponibles. Sélectionnez les indicateurs déroulants pour voir les autres choix.
- Saisissez votre Secrets Manager nom d'instance.
- Sélectionnez le Type d'autorisation.
- Cliquez sur Continu.
Stockage des preuves
The evidence repository stores all the evidence and artifacts that are generated by the DevSecOps CI pipeline.
- Faites basculer le curseur du seau IBM Cloud Object Storage pour stocker toutes les preuves dans le seau IBM Cloud Object Storage qui peut être configuré à la page suivante.
- Accepter les paramètres par défaut.
- Cliquez sur Continu.
Compartiment cloud Object Storage
Vous devez disposer d'un IBM Cloud® Object Storage instance et d'un Nuage Object Storage seau pour agir en tant qu'armoire de mise en conformité.
- Les champs Cloud Object Storage instance, Nom du panier, et Cloud Object Storage endpoint sont automatiquement remplis.
- Saisissez votre clé API Service ID.
- Préféré: une clé existante peut être importée à partir d'un coffre de secrets en cliquant sur l'icône de clé.
- Une clé existante peut être copiée et collée.
- Cliquez sur Continu.
Le champ "endpoint" est facultatif. Il est recommandé de sélectionner ou de fournir le noeud final lors de la configuration de la chaîne d'outils ou lors de l'exécution du pipeline.
Déployer
Configurez le cluster Kubernetes cible où l'application est déployée.
-
Utilisez le nom de l'application par défaut nom de l'application
hello-compliance-app
. -
Saisissez votre IBM Cloud Clé API. La clé API est utilisée pour interagir avec l'outil CLI dans plusieurs tâches.
- Préféré: une clé existante peut être importée à partir d'un coffre de secrets en cliquant sur l'icône de clé.
- Une clé existante peut être copiée et collée.
- Une nouvelle clé peut être créée à partir d'ici en cliquant sur Nouveau +.
La clé d'API nouvellement générée peut être immédiatement sauvegardée dans un coffre de secrets.
-
Si la clé API est valide et dispose d'un accès suffisant, le Container Registry, Container Registry namespace, Région du cluster de développement, Groupe de ressources, Nom du cluster, Espace de noms du cluster sont automatiquement remplis. Vous pouvez modifier n'importe lequel de ces champs pour l'adapter à votre configuration.
-
Cliquez sur Continu.
Signature d'un artefact
Les artefacts construits par la chaîne d'outils et enregistrés dans l'inventaire doivent être signés avant d'être déployés en production.
- Saisissez la GnuPG Private Key. Vous pouvez également créer une nouvelle clé GPG en cliquant sur NEW. Pour plus d'informations, voir Génération d'une clé GPG.
- Cliquez sur Continu.
DevOps Insights
Le IBM Cloud DevOps Insights est inclus dans la chaîne d'outils. Affichez les résultats de vos tests de pipeline pour chaque génération, à partir de chaque déploiement et de chaque environnement.
- Accepter la configuration par défaut.
- Cliquez sur Continu.
SonarQube
Configurer SonarQube comme outil d'analyse statique du code pour la chaîne d'outils. 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 statiques de code détectent les bogues délicats, tels que les déférences de pointeurs nuls, les erreurs de logique et les fuites de ressources pour de nombreux langages de programmation.
- Acceptez la Configuration par défaut.
- Cliquez sur Continu.
Outils facultatifs
Slack
Configurez Slack pour recevoir des notifications sur vos demandes d'extraction ou les événements du pipeline CI. Vous pouvez également ajouter l'outil Slack après la création de la chaîne d'outils.
- Saisissez votre Slack webhook. Pour plus d'informations, voir Slack webhook.
- Saisissez votre canal Slack pour poster un message.
- Saisissez le Nom de l'équipe adverse. Par exemple, si l'URL de votre équipe est
https://team.slack.com
, le nom de l'équipe estteam
. - Choisissez les événements pour lesquels vous souhaitez recevoir des notifications Notifications Slack automatisées.
- Cliquez sur Continu.
Création de la chaîne d'outils CI
- Dans la page Récapitulatif, cliquez sur Créer une chaîne d'outils.
- Attendez la création de la chaîne d'outils. Cette opération peut prendre quelques minutes.
Exploration de la chaîne d'outils CI
La chaîne d'outils CI contient ci-pr-pipeline (PR)
et ci-pipeline (CI)
. Ces pipelines se déclenchent lorsqu'une nouvelle demande de fusion est soumise ou fusionnée au niveau master dans le référentiel de l'application.
Suivez les étapes pour accéder à votre chaîne d'outils :
- Dans la console IBM Cloud, cliquez sur Menu
, et sélectionnez DevOps.
- Sur la page Chaînes d'outils, cliquez sur Créer une chaîne d'outils.
- Cliquez sur votre chaîne d'outils pour afficher la sortie comme indiqué dans l'artefact suivant.

Exécution du pipeline CI/PR
Pour lancer le ci-pr pipeline
, vous devez créer une demande de fusion dans le référentiel de votre application.
-
Sur la page de la chaîne d'outils CI, cliquez sur la tuile
ci-pr pipeline
. Par défaut, il est créé avec le nomcompliance-app-<timestamp>
. -
Créer une branche à partir de la branche principale.
-
Mettez à jour le code de l'application ou ajoutez un fichier readme, puis enregistrez les modifications.
-
Cliquez sur soumettre Demande de fusion.
-
Sur la page de la chaîne d'outils CI, cliquez sur la tuile pr-pipeline. Vérifiez que la
ci-pr pipeline
est déclenchée par la création de la demande de fusion. -
Attendez que l'exécution
ci-pr pipeline
se termine. La demande de fusion correspondante qui se trouve dans le référentiel de votre application est dans l'étatPending
jusqu'à ce que toutes les étapes du pipeline PR se terminent avec succès. -
Une fois que l'exécution du pipeline PR est réussie, cliquez sur le pipeline pour découvrir les nombreuses étapes réalisées et pour afficher la page.
Figure 2. DevSecOps PR Pipeline Successful -
Accédez à la Demande de fusion pour fusionner la demande afin que vos modifications soient copiées dans la branche principale du référentiel de votre application.
Exécution du pipeline CI
Démarrez le pipeline d'EC de l'une des manières suivantes:
- Automatiquement : après l'exécution réussie d'un pipeline PR, en approuvant et en fusionnant la demande d'extraction dans la branche principale.
- Manuellement : Pour déclencher manuellement le pipeline CI, sélectionnez la carte Delivery Pipeline, cliquez sur Run Pipeline, et sélectionnez Manual Trigger.
Dans ce tutoriel, le pipeline CI a été déclenché après que vous ayez fusionné vos modifications de code dans la branche master du référentiel de votre application.
-
Sur la page CI toolchain, cliquez sur la tuile ci-pipeline.
-
Cliquez sur Run en regard du nom de votre pipeline. Observer le fonctionnement d'un pipeline. Attendez la fin de l'exécution du pipeline.
-
Une fois que l'exécution du pipeline CI est réussie, cliquez sur le pipeline pour explorer les étapes réalisées et afficher la page comme indiqué dans la capture d'écran.
Figure 3. DevSecOps Pipeline CI -
Cliquez sur la tuile DevOps Insights pour examiner les preuves collectées sur la page Quality Dashboard, comme le montre la capture d'écran.
Figure 4. DevSecOps CI evidence Vous pouvez également examiner les preuves si le seau IBM Cloud Object Storage est activé lors de la configuration. Pour déterminer si votre pipeline a connu des échecs, vous devez vérifier l'étape finale de votre pipeline, qui dispose d'un évaluateur de pipeline.
Affichage de l'application en cours d'exécution
Après une exécution réussie du pipeline d'EC, le modèle d'application est déployé sur votre cluster Kubernetes.
L'URL de l'application se trouve à la fin du journal de l'étape run stage
de la tâche deploy-dev
de l'exécution du pipeline CI. Utilisez cette URL pour vérifier que l'application fonctionne.
Personnalisation de pipeline
Les différents pipelines fournis dans les chaînes d'outils d'intégration continue et de déploiement continu de référence sont basés sur le support Continuous Delivery pour Tekton Pipelines. Pour plus d'informations sur la personnalisation du pipeline, voir Comment un utilisateur peut-il personnaliser le pipeline ?
Etapes suivantes
Vous avez créé avec succès une chaîne d'outils CI DevSecOps, exécuté ci-pr pipeline
et ci-pipeline
pour construire, tester et déployer vos modifications dans l'environnement de développement. Vous êtes maintenant prêt
à explorer La mise en place d'une chaîne d'outils CD.