Pour créer un pipeline d'intégration continue et de livraison continue (CICD) dans Code Stream, vous pouvez utiliser le modèle de pipeline intelligent CICD. Pour planifier votre build native CICD, vous allez collecter les informations dont vous avez besoin pour remplir le modèle de pipeline intelligent avant de l'utiliser pour créer le pipeline dans cet exemple de plan.

Une fois que vous avez saisi les informations requises dans le modèle de pipeline intelligent et que vous les avez enregistrées, le modèle crée un pipeline comprenant des étapes et des tâches. Il indique également où déployer votre image en fonction des types d'environnement que vous sélectionnez, comme Dev (Développement) et Prod (Production). Le pipeline publie ensuite votre image Docker et effectue les actions requises pour l'exécuter. Après l'exécution de votre pipeline, vous pouvez surveiller les tendances en matière d'exécution de pipeline.

Pour créer un pipeline CICD, vous devez planifier les étapes d'intégration continue (Continuous Integration, CI) et de livraison continue (Continuous Delivery, CD) de votre pipeline.

Lorsqu'un pipeline inclut une image depuis Docker Hub, vous devez vous assurer que l'image intègre cURL avant d'exécuter le pipeline. Lorsque le pipeline s'exécute, vRealize Automation Code Stream télécharge un fichier binaire qui utilise cURL pour exécuter des commandes.

Planification de l'étape d'intégration continue (CI)

Pour planifier l'étape de CI de votre pipeline, vous allez configurer les conditions externes et internes requises, et déterminer les informations à saisir dans la partie relative à la CI du modèle de pipeline intelligent. En voici un résumé.

Points de terminaison et référentiels sur site distant ou basés sur le cloud dont vous aurez besoin :

  • D'un référentiel de code source Git dans lequel vos développeurs archivent du code. Code Stream intègre la toute dernière version du code dans le pipeline lorsque les développeurs valident les modifications.
  • D'un point de terminaison Git pour le référentiel dans lequel se trouve le code source du développeur.
  • D'un point de terminaison Docker pour l'hôte de la build Docker qui exécutera les commandes de la build dans un conteneur.
  • D'un point de terminaison Kubernetes afin que Code Stream puisse déployer votre image sur un cluster Kubernetes.
  • D'une image de générateur qui crée le conteneur sur lequel les tests d'intégration continue s'exécutent.
  • D'un point de terminaison de registre d'images afin que l'hôte de la build Docker puisse en extraire l'image du générateur.

Vous aurez besoin d'accéder à un projet. Projet qui regroupe tous vos travaux, y compris votre pipeline, vos points de terminaison et vos tableaux de bord. Assurez-vous d'être membre d'un projet dans Code Stream. Si ce n'est pas le cas, demandez à un administrateur de Code Stream de vous ajouter en tant que membre d'un projet. Reportez-vous à la section Ajout d'un projet dans VMware Code Stream.

Vous aurez besoin d'un Webhook Git, ce qui permet à Code Stream d'utiliser le déclencheur Git pour déclencher votre pipeline lorsque les développeurs valident les modifications apportées au code. Reportez-vous à la section Utilisation du déclencheur Git dans Code Stream pour exécuter un pipeline.

Vos boîtes à outils dédiées aux builds :

  • Votre type de build, par exemple Maven.
  • Tous les outils de génération post-processus que vous utilisez, tels que JUnit, JaCoCo, Checkstyle et FindBugs.

Votre outil de publication :

  • Un outil comme docker qui déploiera votre conteneur de builds.
  • Une balise d'image, soit l'ID de validation, soit le numéro de build.

Votre espace de travail dédié aux builds :

  • Un hôte de build Docker, point de terminaison Docker.
  • Un registre d'images. La partie relative à la CI du pipeline extrait l'image du point de terminaison de registre sélectionné. Le conteneur exécute les tâches de CI et déploie votre image. Si le registre requiert des informations d'identification, vous devez d'abord créer un point de terminaison de registre d'images, puis le sélectionner ici pour que l'hôte puisse extraire l'image du registre.
  • URL de l'image de générateur qui crée le conteneur sur lequel les tâches d'intégration continue s'exécutent.

Planification de l'étape de livraison continue (CD)

Pour planifier l'étape de CD de votre pipeline, vous allez configurer les conditions externes et internes requises, et déterminer les informations à saisir dans la partie relative à la CD du modèle de pipeline intelligent.

Points de terminaison sur site distant ou basés sur le cloud dont vous aurez besoin :

  • D'un point de terminaison Kubernetes afin que Code Stream puisse déployer votre image sur un cluster Kubernetes.

Types d'environnement et fichiers :

  • Tous les types d'environnement dans lesquels Code Stream déploiera votre application, comme Dev (Développement) et Prod (Production). Le modèle de pipeline intelligent crée les étapes et les tâches de votre pipeline en fonction des types d'environnement que vous sélectionnez.
    Tableau 1. Étapes de votre pipeline créées par le modèle de pipeline intelligent CICD
    Contenu du pipeline Fonctionnement
    Étape de publication de la build Génère et teste votre code, crée l'image de générateur et publie l'image sur votre hôte Docker.
    Étape de développement Utilise un cluster de développement Amazon Web Services (AWS) pour créer et déployer votre image. À cette étape, vous pouvez créer un espace de noms sur le cluster et créer une clé secrète.
    Étape de production Utilise une version de production de VMware Tanzu Kubernetes Grid Integrated Edition (anciennement VMware Enterprise PKS) pour déployer votre image sur un cluster Kubernetes de production.
  • Fichier YAML Kubernetes que vous sélectionnez dans la partie relative à la CD du modèle de pipeline intelligent CICD.

    Pour appliquer le fichier, cliquez sur Sélectionner, sélectionnez le fichier YAML Kubernetes, puis cliquez sur Traiter. Le modèle de pipeline intelligent affiche les services et les environnements de déploiement disponibles. Vous sélectionnez un service, le point de terminaison du cluster et la stratégie de déploiement. Par exemple, pour utiliser le modèle de déploiement Canary, sélectionnez Canary et entrez le pourcentage de la phase de déploiement.

    Traitement d'un déploiement CICD Canary.

Pour découvrir un exemple d'utilisation du modèle de pipeline intelligent pour créer un pipeline en vue d'un déploiement Bleu-vert, reportez-vous à la section Déploiement d'une application dans VMware Code Stream vers un déploiement Bleu-vert.

Création du pipeline CICD à l'aide du modèle de pipeline intelligent

Une fois que vous aurez collecté toutes les informations et configuré ce dont vous avez besoin, voici comment vous créerez un pipeline à partir du modèle de pipeline intelligent CICD.

Sur la page Pipelines, sélectionnez Nouveau pipeline > Modèles intelligents.

Sélectionner le modèle intelligent.

Sélectionnez le modèle de pipeline intelligent CICD.

Créer un pipeline d'intégration continue et de livraison continue à partir d'un modèle de pipeline intelligent CICD.

Vous allez remplir le modèle et enregistrer le pipeline avec les étapes qu'il crée. Si vous devez apporter des modifications finales, vous pouvez modifier le pipeline et l'enregistrer.

Nouvelles étapes de pipeline CICD créées à partir d'un modèle de pipeline intelligent CICD.

Ensuite, vous allez activer le pipeline et l'exécuter. Une fois le pipeline exécuté, voici quelques éléments que vous pouvez rechercher :

  • Vérifiez que votre pipeline a abouti. Cliquez sur Exécutions et recherchez votre pipeline. S'il a échoué, corrigez les erreurs et exécutez-le à nouveau.
  • Vérifiez que le Webhook Git fonctionne correctement. L'onglet Activité Git affiche les événements. Cliquez sur Déclencheurs > Git > Activité.
  • Examinez le tableau de bord de pipeline et observez les tendances. Cliquez sur Tableaux de bord et recherchez votre tableau de bord de pipeline. Vous pouvez également créer un tableau de bord personnalisé pour générer des rapports sur des KPI supplémentaires.

Pour obtenir un exemple détaillé, reportez-vous à la section Intégration continue du code d'un référentiel GitHub ou GitLab à un pipeline dans VMware Code Stream.