Pour créer un pipeline d'intégration continue et de prestation continue (CICD) dans Code Stream, vous pouvez manuellement ajouter des étapes et des tâches. Pour planifier votre build native CICD, vous allez collecter les informations dont vous avez besoin, puis créer un pipeline et y ajouter manuellement des étapes et des tâches.

Vous devrez planifier les étapes d'intégration continue (Continuous Integration, CI) et de prestation continue (Continuous Delivery, CD) de votre pipeline. Après la création et l'exécution de votre pipeline, vous pourrez surveiller les tendances en matière d'exécution de pipeline.

Pour planifier les étapes CI et CD de votre pipeline, vous vérifierez que toutes les conditions requises sont remplies avant de créer votre pipeline.

Planification des exigences externes et internes

Pour créer un pipeline à partir de cet exemple de plan, vous allez utiliser un hôte Docker, un référentiel Git, le type de build Maven et plusieurs outils de génération de post-processus.

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

Création du pipeline CICD et configuration de l'espace de travail

Vous devrez créer le pipeline, puis configurer l'espace de travail, les paramètres d'entrée de pipeline et les tâches.

Pour créer le pipeline, cliquez sur Pipelines > Nouveau pipeline > Canevas vide.

Créer un pipeline à partir d'un canevas vide.

Dans l'onglet Espace de travail, entrez les informations sur l'intégration continue :

  • Incluez votre hôte de build Docker.
  • Entrez l'URL de votre image de générateur.
  • Sélectionnez le point de terminaison de registre d'images afin que le pipeline puisse en extraire l'image. 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 le point de terminaison de registre d'images, puis le sélectionner ici pour que l'hôte puisse extraire l'image du registre.
  • Ajoutez les artefacts qui doivent être mis en cache. Pour qu'une build aboutisse, des artefacts tels que les répertoires sont téléchargés sous forme de dépendances. Le cache est l'emplacement dans lequel se trouvent ces artefacts. Par exemple, les artefacts dépendants peuvent inclure le répertoire .m2 pour Maven et le répertoire node_modules pour le Node.js. Ces répertoires sont mis en cache sur toutes les exécutions de pipeline pour gagner du temps lors des générations.

    Configuration de l'espace de travail dans un pipeline.

Dans l'onglet Entrée, configurez les paramètres d'entrée de pipeline.

  • Si votre pipeline utilise des paramètres d'entrée à partir d'un événement déclencheur Git, Gerrit ou Docker, sélectionnez le type de déclencheur pour les paramètres d'insertion automatique. Ces événements sont les suivants : Modifier l'objet de Gerrit ou Git ou Nom du propriétaire de l'événement pour Docker. Si votre pipeline n'utilise aucun paramètre d'entrée transmis par l'événement, laissez les paramètres d'insertion automatique définis sur Aucun.
  • Pour appliquer une valeur et une description à un paramètre d'entrée de pipeline, cliquez sur les trois points verticaux, puis sur Modifier. La valeur que vous saisissez est utilisée comme entrée pour les tâches, les étapes ou les notifications.
  • Pour ajouter un paramètre d'entrée de pipeline, cliquez sur Ajouter. Par exemple, vous pouvez ajouter le paramètre approvers pour afficher une valeur par défaut pour chaque exécution, mais que vous pouvez remplacer par un autre approbateur lors de l'exécution.
  • Pour ajouter ou supprimer un paramètre inséré, cliquez sur Ajouter/supprimer le paramètre inséré. Par exemple, vous pouvez supprimer un paramètre inutilisé pour réduire l'encombrement sur la page de résultats et afficher uniquement les paramètres d'entrée utilisés.

    Configuration de l'onglet Entrée dans un pipeline CICD.

Configurez le pipeline pour tester votre code :

  • Ajoutez et configurez une tâche de CI.
  • Incluez les étapes pour exécuter mvn test sur votre code.
  • Exécutez les outils de génération de post-processus, tels que JUnit et JaCoCo, FindBugs et Checkstyle, pour identifier les problèmes après l'exécution de la tâche.

    Configuration d'une tâche de pipeline pour tester votre code.

Configurez le pipeline pour générer votre code :

  • Ajoutez et configurez une tâche de CI.
  • Incluez les étapes pour exécuter mvn clean install sur votre code.
  • Incluez l'emplacement et le nom du fichier JAR pour qu'il conserve votre artefact.

    Configuration d'une tâche de pipeline pour générer votre code.

Configurez le pipeline pour publier votre image sur votre hôte Docker :

  • Ajoutez et configurez une tâche de CI.
  • Ajoutez des étapes qui valideront, exporteront, généreront et transféreront votre image.
  • Ajoutez la clé d'exportation de IMAGE que la tâche suivante utilisera.

    Configuration d'une tâche de pipeline pour publier votre image sur votre hôte Docker.

Après avoir configuré l'espace de travail, les paramètres d'entrée, les tâches de test et les tâches de build, enregistrez votre pipeline.

Activation et exécution de votre pipeline

Après avoir configuré votre pipeline avec des étapes et des tâches, vous pouvez enregistrer et activer le pipeline.

Ensuite, patientez le temps que le pipeline s'exécute et se termine, puis vérifiez qu'il a abouti. S'il a échoué, corrigez les erreurs et exécutez-le à nouveau.

Une fois que le pipeline a abouti, voici quelques éléments que vous souhaiterez peut-être vérifier :

  • Examinez l'exécution du pipeline et affichez les résultats des étapes des tâches.
  • Dans l'espace de travail de l'exécution du pipeline, localisez les détails concernant votre conteneur et le référentiel Git cloné.
  • Dans l'espace de travail, examinez les résultats de vos outils post-processus, et recherchez les erreurs, la couverture du code, les bogues et les problèmes de style.
  • Vérifiez que votre artefact est préservé. Vérifiez également que l'image a été exportée avec le nom et la valeur IMAGE.
  • Accédez à votre référentiel Docker et vérifiez que le pipeline a publié votre conteneur.

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