En tant qu'administrateur ou développeur de Automation Pipelines, vous pouvez intégrer des services cloud Automation Pipelines au cycle de vie Git à l'aide du déclencheur Git. Lorsque vous modifiez le code dans GitHub, GitLab ou Bitbucket Enterprise, l'événement communique avec Automation Pipelines via un Webhook et déclenche un pipeline. Le Webhook fonctionne avec les versions d'entreprise cloud et sur site de GitLab, GitHub et Bitbucket.

Lorsque vous ajoutez le Webhook pour Git dans Automation Pipelines, 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, cette action met également à jour ou supprime le Webhook dans GitHub, GitLab ou Bitbucket.

Votre définition du Webhook doit inclure un point de terminaison Git sur la branche du référentiel que vous souhaitez surveiller. Pour créer le Webhook, Automation Pipelines utilise le point de terminaison Git. 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.

Note : Pour créer un Webhook, le point de terminaison Git doit utiliser un jeton privé pour l'authentification ; il ne peut pas utiliser un mot de passe.

Vous pouvez créer plusieurs Webhooks pour différentes branches en utilisant le même point de terminaison Git et en fournissant des valeurs différentes pour le nom de la branche sur la page de configuration du Webhook. Pour créer un autre Webhook pour une autre branche dans le même référentiel Git, vous n'avez pas besoin de cloner le point de terminaison Git plusieurs fois pour plusieurs branches. Vous fournissez plutôt le nom de la branche dans le Webhook, ce qui vous permet de réutiliser le point de terminaison Git. Si la branche dans le Webhook Git est la même que celle du point de terminaison, vous n'avez pas besoin de fournir un nom de branche dans la page Git du Webhook.

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 Automation Pipelines. Si ce n'est pas le cas, demandez à un administrateur de Automation Pipelines de vous ajouter en tant que membre d'un projet. Reportez-vous à la section Ajout d'un projet dans Automation Pipelines.
  • 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 Automation Pipelines à 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.

    Lorsque vous configurez votre pipeline pour utiliser le déclencheur pour Git, vous configurez les paramètres d'entrée dans l'onglet Entrée.

    Pour plus d'informations sur les paramètres d'entrée, reportez-vous à la section Création du pipeline CICD et configuration de l'espace de travail.

Procédure

  1. Dans Automation Pipelines, 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 jeton privé dans le point de terminaison, le Webhook continuera à fonctionner.
      • Si vous utilisez un référentiel BitBucket, l'URL du référentiel doit être dans l'un de ces formats : https://api.bitbucket.org/{user}/{repo name} ou http(s)://{bitbucket-enterprise-server}/rest/api/1.0/users/{username}/repos/{repo name}.
      Note : Si vous avez précédemment créé un Webhook à l'aide d'un point de terminaison Git qui utilise un mot de passe pour l'authentification de base, vous devez supprimer et redéfinir le Webhook avec un point de terminaison Git qui utilise un jeton privé pour l'authentification.
      Reportez-vous à la section Comment intégrer Automation Pipelines à Git.
    4. (Facultatif) Entrez la branche que vous souhaitez faire surveiller par le Webhook.
      Si vous laissez la branche non spécifiée, le Webhook surveille la branche que vous avez configurée pour le point de terminaison Git. Si vous utilisez un regex comme nom de branche, les modifications apportées à une branche correspondant à regex déclencheront le pipeline.
    5. (Facultatif) Générez un jeton secret pour le Webhook.
      Si vous utilisez un jeton secret, Automation Pipelines 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. Automation Pipelines 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.
      • Inclusions de fichiers. Si un des fichiers d'une validation correspond aux fichiers spécifiés dans les chemins d'inclusion ou regex, la validation déclenche les pipelines. Avec un regex spécifié, Automation Pipelines 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.
      • Exclusions de fichiers. Lorsque tous les fichiers d'une validation correspondent aux fichiers spécifiés dans les chemins d'exclusion ou regex, les pipelines ne se déclenchent pas.
      • Exclusions par priorité. Lorsque cette option est activée, l'exclusion par priorité garantit que les pipelines ne se déclenchent pas, 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 répondent à la fois aux inclusions et aux exclusions de fichiers, les pipelines ne se déclenchent pas.

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

      Les inclusions et les exclusions de fichiers ainsi que leurs valeurs s'affichent dans l'onglet Webhooks pour Git dans le déclencheur pour Git, et peuvent être simples ou regex.

      • 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 VMware Cloud Services vous authentifie pour les connexions d'API externes avec Automation Pipelines. Pour obtenir le jeton d'API :
      1. Connectez-vous à VMware Aria Automation.
      2. Connectez-vous à
      3. Cliquez sur la flèche vers le bas en regard de votre nom.
      4. Cliquez sur Mon compte.
      5. Cliquez sur Jetons d'API.
      6. Cliquez sur Générer un nouveau jeton d'API.
        1. Entrez le nom du jeton.
        2. Sous Rôles d'organisation, cliquez pour développer Tous les rôles d'organisation et sélectionnez Propriétaire de l'organisation.
        3. Sous Rôles de service, cliquez pour développer VMware Aria Automation > Pipelines et sélectionnez Administrateur de Pipelines.
        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.

      7. 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 inclut des paramètres d'entrée ajoutés personnalisés, la liste Paramètres d'entrée affiche les paramètres et les valeurs. Vous pouvez entrer des valeurs pour les paramètres d'entrée qui passent 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.

    L'URL du Webhook Git, que vous copiez et utilisez dans votre référentiel Git, s'affiche dans l'onglet Webhooks pour Git du déclencheur pour Git.

  4. Dans une nouvelle fenêtre de navigateur, ouvrez le référentiel GitHub qui se connecte via le Webhook.
    1. Pour voir le Webhook que vous avez ajouté dans Automation Pipelines, 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.

      Dans votre référentiel GitHub, la liste des Webhooks affiche la même URL Webhook Git en bas de la liste.

    2. Pour apporter une modification au code, cliquez sur l'onglet Code et sélectionnez un fichier sur la branche. Après avoir modifié le fichier, 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. Lorsque le Webhook dans GitHub est valide, une coche verte s'affiche.
  5. Revenez à Automation Pipelines 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é.

    Lorsqu'un utilisateur valide un fichier, il active le déclencheur pour Git et l'onglet Activité affiche l'état du déclencheur comme DÉMARRÉ.

  6. Cliquez sur Exécutions et suivez la progression de votre pipeline au fil de son exécution.
    Pour observer l'exécution du pipeline, vous pouvez cliquer sur Actualiser.

    Après le déclenchement du pipeline, l'exécution du pipeline affiche l'état EN COURS D'EXÉCUTION.

Résultats

Félicitations ! Vous avez correctement utilisé le déclencheur pour Git.