Code Stream offre un moyen de déclencher un pipeline si une modification de code se produit dans votre référentiel GitHub, GitLab ou Bitbucket. Le déclencheur Git utilise un point de terminaison Git sur la branche du référentiel que vous souhaitez surveiller. Code Stream se connecte au point de terminaison Git via un webhook.

Pour définir un point de terminaison Git dans Code Stream, vous sélectionnez un projet et entrez la branche du référentiel Git dans lequel se trouve le point de terminaison. Le projet regroupe le pipeline avec le point de terminaison et autres objets associés. Lorsque vous choisissez le projet dans la définition de votre webhook, vous sélectionnez le point de terminaison et pipeline à déclencher.
Note : Si vous définissez un Webhook avec votre point de terminaison et modifiez ultérieurement le point de terminaison, vous ne pouvez pas modifier les détails du point de terminaison dans le Webhook. Pour modifier les détails du point de terminaison, vous devez supprimer et redéfinir le Webhook avec le point de terminaison. Reportez-vous à la section Utilisation du déclencheur Git dans Code Stream pour exécuter un pipeline.

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.

Conditions préalables

  • Vérifiez que vous pouvez accéder au référentiel GitHub, GitLab ou Bitbucket auquel vous prévoyez de vous connecter.
  • Si vous utilisez un référentiel Git sur site, vérifiez que vous pouvez accéder à VMware Cloud Assembly afin que vous puissiez ajouter un proxy cloud. Par exemple, reportez-vous à la section Configuration de VMware Code Stream pour modéliser le processus de publication.
  • 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.

Procédure

  1. Définissez un point de terminaison Git.
    1. Cliquez sur Points de terminaison > Nouveau point de terminaison.
    2. Sélectionnez un projet et pour le type de point de terminaison, sélectionnez Git. Ensuite, entrez un nom et une description.
    3. Si ce point de terminaison est un composant stratégique de votre infrastructure, activez Marquer comme restreint.
      Lorsque vous utilisez un point de terminaison limité dans un pipeline, un administrateur peut exécuter le pipeline et doit approuver son exécution. Si un point de terminaison ou une variable est marqué comme étant limité et qu'un utilisateur non administratif déclenche le pipeline, celui-ci s'interrompt à cette tâche et attend qu'un administrateur le relance.
      Un administrateur de projet peut démarrer un pipeline qui inclut des points de terminaison ou des variables limités si ces ressources se trouvent dans le projet dans lequel l'utilisateur est un administrateur de projet.
      Lorsqu'un utilisateur qui n'est pas un administrateur tente d'exécuter un pipeline qui inclut une ressource restreinte, le pipeline s'arrête sur la tâche qui utilise la ressource restreinte. Ensuite, un administrateur doit reprendre l'exécution du pipeline.
      Pour plus d'informations sur les ressources limitées et les rôles personnalisés qui incluent l'autorisation Gérer les pipelines limités, consultez :
    4. Si ce point de terminaison se trouve sur site, sélectionnez un proxy cloud qui le connecte à Code Stream. Sinon, conservez le paramètre Par défaut.
    5. Sélectionnez l'un des types de serveur Git pris en charge.
    6. Entrez l'URL du référentiel avec la passerelle API pour le serveur dans le chemin d'accès. Par exemple, entrez https://api.github.com/vmware-example/repo-example.
    7. Saisissez la branche dans le référentiel où se trouve le point de terminaison.
    8. Sélectionnez le type d'authentification et entrez le nom d'utilisateur pour GitHub, GitLab ou BitBucket. Entrez ensuite le mot de passe, le jeton privé ou la clé privée associés au nom d'utilisateur.
      • Mot de passe. Votre mot de passe assure la fin de l'accès au référentiel. Vous pouvez également créer une variable pour le mot de passe.

        Utilisez des variables secrètes pour masquer et chiffrer des informations sensibles. Utilisez une variable limitée pour les chaînes, les mots de passe et les URL qui doivent être masqués et chiffrés, ainsi que pour en restreindre l'utilisation dans les exécutions. Par exemple, utilisez une variable secrète pour un mot de passe ou une URL. Vous pouvez utiliser des variables secrètes et restreintes pour n'importe quel type de tâche dans votre pipeline.

      • Jeton privé. Ce jeton est spécifique de Git et donne accès à une action spécifique. Reportez-vous à la section https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html. Vous pouvez également créer une variable pour le jeton privé.
      • Clé privée. Cette clé SSH est une clé privée qui permet d'accéder à un référentiel spécifique. Lorsqu'un événement Git se produit, Code Stream utilise cette clé pour cloner un référentiel. Reportez-vous à la section https://help.github.com/articles/reviewing-your-ssh-keys/.
  2. Cliquez sur Valider et vérifiez que le point de terminaison se connecte à Code Stream.
    S'il ne se connecte pas, corrigez les erreurs, puis cliquez sur Créer.
    Utilisation d'un point de terminaison Git pour générer et tester votre code

Que faire ensuite

Pour plus d'informations, consultez les autres sections. Reportez-vous à la section Utilisation du déclencheur Git dans Code Stream pour exécuter un pipeline.