En tant qu'administrateur ou développeur de Code Stream, vous pouvez intégrer des services cloud Code Stream 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 Code Stream 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 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, 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, Code Stream 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.

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, au lieu de cloner le point de terminaison Git plusieurs fois pour plusieurs branches, vous pouvez fournir le nom de la branche dans le Webhook. Cette approche 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 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.

    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 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.
      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.
    5. (Facultatif) Générez un jeton secret pour le Webhook.
      Si vous utilisez un jeton secret, 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.
      • Inclusions de fichiers. Si un des fichiers d'une validation correspond aux fichiers spécifiés dans les chemins d'inclusion ou regex, les pipelines se déclenchent. 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.
      • 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 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 le jeton.
        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 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 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.

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

    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 appuyer sur le bouton 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.