En tant qu'administrateur ou développeur DevOps, vous pouvez utiliser le déclencheur Git pour intégrer les services cloud Code Stream au cycle de vie Git. Lorsque vous modifiez le code dans GitHub, GitLab ou Bitbucket Enterprise, l'événement communique avec Code Stream via un Webhook et déclenche l'exécution d'un pipeline.

Lorsque vous ajoutez le Webhook pour Git dans Code Stream, cette action crée également un Webhook dans le GitHub, GitLab ou le référentiel Bitbucket. Si vous mettez à jour ou supprimez le Webhook ultérieurement, le Webhook dans GitHub, GitLab ou Bitbucket est également mis à jour ou supprimé.

Votre définition du Webhook doit inclure un point de terminaison Git sur la branche du référentiel que vous souhaitez surveiller. Code Stream utilise le point de terminaison Git pour créer le Webhook. Si le point de terminaison n'existe pas, vous pouvez le créer lorsque vous ajoutez le Webhook. Dans cet exemple, vous devez disposer d'un point de terminaison Git prédéfini dans GitHub.

Cet exemple vous présente comment utiliser le déclencheur Git avec un référentiel GitHub, mais les conditions préalables incluent des préparations requises si un autre type de serveur Git est utilisé.

Conditions préalables

  • 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.
  • Vérifiez que vous disposez d'un point de terminaison Git sur la branche GitHub que vous souhaitez surveiller. Reportez-vous à la section Comment intégrer Code Stream à Git.
  • Vérifiez que vous disposez des droits de création d'un Webhook dans le référentiel Git.
  • Pour les pipelines que vous souhaitez déclencher, vérifiez que vous avez défini les propriétés d'entrée pour injecter des paramètres Git lorsque le pipeline s'exécute.

    Paramètres d'entrée Git dans le pipeline

    Pour plus d'informations sur les paramètres d'entrée, reportez-vous à la section Planification d'une build native CICD dans Code Stream avant d'ajouter des tâches manuellement.

Procédure

  1. Dans Code Stream, cliquez sur Déclencheurs > Git.
  2. Cliquez sur l'onglet Webhooks pour Git, puis cliquez sur Nouveau Webhook pour Git.
    1. Sélectionnez un projet.
    2. Entrez un nom et une description significatifs pour le Webhook.
    3. Sélectionnez un point de terminaison Git configuré pour la branche que vous souhaitez surveiller.
      Lorsque vous créez votre Webhook, sa définition inclut les détails actuels du point de terminaison.
      • Si vous modifiez ultérieurement le type de Git, le type de serveur Git ou l'URL du référentiel Git dans le point de terminaison, le Webhook ne pourra plus déclencher de pipeline, car il essaiera d'accéder au référentiel Git à l'aide des détails du point de terminaison d'origine. Vous devez supprimer le Webhook et le recréer avec le point de terminaison.
      • Si vous modifiez ultérieurement le type d'authentification, le nom d'utilisateur ou le mot de passe dans le point de terminaison, le Webhook continuera à fonctionner.
      Reportez-vous à la section Comment intégrer Code Stream à Git.
    4. (Facultatif) Entrez la branche que vous souhaitez faire surveiller par le Webhook. Par exemple, master.
      Si elle n'est pas spécifiée, le Webhook surveille la branche configurée pour le point de terminaison Git.
    5. (Facultatif) Générez un jeton secret pour le Webhook.
      S'il est utilisé, Code Stream génère un jeton de chaîne aléatoire pour le Webhook. Ensuite, lorsque le Webhook reçoit les données d'événement Git, il les envoie avec le jeton secret. Code Stream utilise les informations pour déterminer si les appels proviennent de la source attendue, telle que l'instance, le référentiel et la branche de GitHub configurés. Le jeton secret fournit une couche supplémentaire de sécurité qui est utilisée pour vérifier que les données d'événement Git proviennent de la source appropriée.
    6. (Facultatif) Précisez des inclusions ou des exclusions de fichier comme conditions pour le déclencheur.
      • L'indication d'inclusions de fichiers conditionne le déclenchement des pipelines lorsqu'un des fichiers d'une validation correspond aux fichiers spécifiés dans les chemins d'inclusion ou regex. Avec un regex spécifié, Code Stream déclenche uniquement les pipelines dont les noms de fichier dans l'ensemble de modifications correspondent à l'expression fournie. Le filtre regex est utile lors de la configuration d'un déclencheur pour plusieurs pipelines sur un référentiel unique.
      • L'indication d'exclusions de fichiers conditionne l'absence de déclenchement des pipelines lorsque tous les fichiers d'une validation correspondent aux fichiers spécifiés dans les chemins d'exclusion ou regex.
      • Lorsque cette option est activée, l'exclusion par priorité garantit que les pipelines ne sont pas déclenchés, même si l'un des fichiers d'une validation correspond aux fichiers spécifiés dans les chemins d'exclusion ou regex. Le paramètre par défaut est désactivé.
      Si les conditions d'inclusion et d'exclusion sont satisfaites, les pipelines ne sont pas déclenchés.

      Dans l'exemple suivant, les inclusions et les exclusions de fichiers sont des conditions de déclenchement.

      Exemple d'inclusions et d'exclusions de fichiers.

      • Pour les inclusions de fichiers, une validation comportant une modification apportée à runtime/src/main/a.java ou un fichier Java déclenche les pipelines configurés dans la configuration des événements.
      • En ce qui concerne les exclusions de fichiers, une validation comportant des modifications dans les deux fichiers uniquement ne déclenche pas les pipelines configurés dans les configurations d'événement.
    7. Pour l'événement Git, sélectionnez une demande d'opération push ou d'extraction.
    8. Entrez le jeton de l'API.
      Le jeton d'API CSP vous authentifie pour les connexions d'API externes avec Code Stream. Pour obtenir le jeton d'API :
      1. Connectez-vous à vRealize Automation Cloud.
      2. Cliquez sur la flèche vers le bas en regard de votre nom.
      3. Cliquez sur Mon compte.
      4. Cliquez sur Jetons d'API.
      5. Cliquez sur Générer un nouveau jeton d'API.
        1. Entrez le nom du jeton.
        2. Sous Rôles de l'organisation, sélectionnez Propriétaire de l'organisation.
        3. Sous Rôles de service, cliquez pour développer VMware Code Stream et sélectionnez Administrateur de Code Stream.
        4. Cliquez sur Générer.

          La fenêtre Jeton généré affiche un jeton avec le nom que vous avez spécifié et le nom de votre organisation.

      6. Cliquez sur l'icône COPIER.

        Cliquer sur COPIER garantit que vous capturez la chaîne exacte et qu'elle est plus fiable que l'utilisation de votre pointeur pour la copier.

    9. Sélectionnez le pipeline que le Webhook doit déclencher.
      Si le pipeline a été configuré avec des paramètres d'entrée personnalisés supplémentaires, la liste des paramètres d'entrée affiche les paramètres et les valeurs. Vous pouvez saisir des valeurs pour les paramètres d'entrée qui seront transmis au pipeline avec l'événement déclencheur. Sinon, vous pouvez laisser les valeurs vides ou utiliser les valeurs par défaut, si elles sont définies.

      Pour plus d'informations sur les paramètres d'entrée injectés automatiquement pour les déclencheurs Git, reportez-vous aux conditions préalables.

    10. Cliquez sur Créer.
      Le Webhook s'affiche sous la forme d'une nouvelle fiche.
  3. Cliquez sur la fiche du Webhook.
    Lorsque le formulaire de données du Webhook s'affiche à nouveau, vous constatez qu'une URL Webhook a été ajoutée en haut du formulaire. Le Webhook Git se connecte au référentiel GitHub via l'URL Webhook.

    Webhook Git avec URL Webhook

  4. Dans une nouvelle fenêtre de navigateur, ouvrez le référentiel GitHub connecté via le Webhook.
    1. Pour voir le Webhook que vous avez ajouté dans Code Stream, cliquez sur l'onglet Paramètres et sélectionnez Webhooks.
      Au bas de la liste des Webhooks, la même URL Webhook est indiquée.

      Liste des Webhooks dans GitHub

    2. Pour apporter une modification au code, cliquez sur l'onglet Code et sélectionnez un fichier dans lequel effectuer le changement sur la branche à modifier. Validez la modification.
    3. Pour vérifier que l'URL Webhook fonctionne, cliquez sur l'onglet Paramètres et sélectionnez à nouveau Webhooks.
      Au bas de la liste des Webhooks, une coche verte s'affiche en regard de l'URL Webhook. Webhook dans GitHub avec coche verte
  5. Revenez à Code Stream pour afficher l'activité sur le Webhook Git. Cliquez sur Déclencheurs > Git > Activité.
    Sous État de l'exécution, vérifiez que l'exécution du pipeline a démarré.

    Activité démarrée pour le déclencheur Git.

  6. Cliquez sur Exécutions pour suivre l'exécution de votre pipeline.
    Vous pouvez appuyer sur le bouton Actualiser pour surveiller l'exécution du pipeline.

    Exécution du pipeline déclenché par Git

Résultats

Félicitations ! Vous avez correctement utilisé un déclencheur Git pour exécuter un pipeline.