En tant qu'administrateur ou développeur de Code Stream, vous pouvez intégrer des services cloud Code Stream au cycle de vie de révision du code Gerrit à l'aide du déclencheur Gerrit. L'événement déclenche un pipeline à exécuter lorsque vous créez un jeu de correctifs, publiez des brouillons, fusionnez des modifications de code sur le projet Gerrit ou transmettez directement les modifications sur la branche Git.

Lorsque vous ajoutez le déclencheur Gerrit, vous sélectionnez un écouteur Gerrit et un projet Gerrit sur le serveur Gerrit et vous configurez des événements Gerrit. Dans cet exemple, vous configurez tout d'abord un écouteur Gerrit, puis vous utilisez cet écouteur dans un déclencheur Gerrit avec deux événements sur trois pipelines différents.

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érifier que vous disposez d'un point de terminaison Gerrit configuré dans Code Stream. Reportez-vous à la section Intégration de Code Stream à Gerrit.
  • Pour que les pipelines se déclenchent, vérifiez que vous définissez les propriétés d'entrée du pipeline sur Gerrit ce qui permet au pipeline de recevoir les paramètres Gerrit en tant qu'entrées lors de l'exécution du pipeline.

    Les paramètres d'entrée Gerrit que vous pouvez injecter dans le pipeline s'affichent 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 Code Stream, cliquez sur Déclencheurs > Gerrit.
  2. (Facultatif) Cliquez sur l'onglet Écouteurs, puis sur Nouvel écouteur.
    Note : Ignorez cette étape si l'écouteur Gerrit que vous prévoyez d'utiliser pour le déclencheur Gerrit est déjà défini.
    1. Sélectionnez un projet.
    2. Entrez un nom pour l'écouteur Gerrit.
    3. Sélectionnez un point de terminaison Gerrit.
    4. 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.

      Si vous avez créé une variable, le jeton d'API affiche le nom de variable que vous avez entré en utilisant une liaison dollar. Si vous avez copié le jeton, le jeton d'API affiche le jeton masqué.

      Pour les instances cloud, l'écouteur du déclencheur Gerrit utilise un point de terminaison Gerrit et un jeton d'API, que vous pouvez générer à partir de Mon compte dans la console VMware Cloud Services.

    5. Pour valider le jeton et les détails du point de terminaison, cliquez sur Valider.
      Votre jeton expire après 90 jours.
    6. Cliquez sur Créer.
    7. Sur la fiche de l'écouteur, cliquez sur Connecter.
      L'écouteur commence à surveiller toute l'activité sur le serveur Gerrit et écoute tous les déclencheurs activés sur ce serveur. Pour arrêter d'écouter un déclencheur sur ce serveur, désactivez le déclencheur.
  3. Cliquez sur l'onglet Déclencheurs, puis sur Nouveau déclencheur.
  4. Sélectionnez un projet sur le serveur Gerrit.
  5. Entrez un nom.
    Le nom du déclencheur Gerrit doit être unique.
  6. Sélectionnez un écouteur Gerrit configuré.
    En utilisant l'écouteur Gerrit, Code Stream fournit une liste de projets Gerrit disponibles sur le serveur.
  7. Sélectionnez un projet sur le serveur Gerrit.
  8. Entrez la branche dans le référentiel que l'écouteur Gerrit doit surveiller.
  9. (Facultatif) Précisez des inclusions ou des exclusions de fichier comme conditions pour le déclencheur.
    • Vous fournissez des inclusions de fichiers qui déclenchent les pipelines. Lorsqu'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.
    • Vous fournissez des exclusions de fichiers qui empêchent le déclenchement des pipelines. 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.
    • Lorsqu'il est activé, le paramètre 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 Exclusion par priorité est désactivé par défaut.
    Si les conditions répondent à la fois à l'inclusion et à l'exclusion du fichier, les pipelines ne se déclenchent pas.

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

    Les inclusions et les exclusions de fichiers s'affichent sous forme de paires SIMPLE ou REGEX avec des valeurs.

    • Pour les inclusions de fichiers, une validation qui comporte 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 qui comporte des modifications dans les deux fichiers uniquement ne déclenche pas les pipelines configurés dans la configuration des événements.
  10. Cliquez sur Nouvelle configuration.
    1. Pour un événement Gerrit, sélectionnez Jeu de correctifs créé, Version préliminaire publiée ou Modification fusionnée. Pour un transfert direct vers Git en contournant Gerrit, sélectionnez Transfert Git direct.
    2. Sélectionnez le pipeline qui se déclenchera.
      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 saisir des valeurs pour les paramètres d'entrée qui seront transmis au pipeline avec l'événement déclencheur. Vous pouvez également laisser les valeurs vides ou utiliser les valeurs par défaut.
      Note : Si les valeurs par défaut sont définies :
      • Toutes les valeurs que vous entrez pour les paramètres d'entrée remplaceront les valeurs par défaut définies dans le modèle de pipeline.
      • Les valeurs par défaut dans la configuration du déclencheur ne changent pas si les valeurs de paramètre dans le modèle de pipeline changent.

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

    3. Pour Jeu de correctifs créé, Version préliminaire publiée et Modification fusionnée, certaines actions s'affichent par défaut avec des étiquettes. Vous pouvez modifier l'étiquette ou ajouter des commentaires. Ensuite, lorsque le pipeline s'exécute, l'étiquette ou le commentaire s'affiche dans l'onglet Activité en tant qu'Action effectuée pour le pipeline.
      La configuration de l'événement Gerrit vous permet d'entrer des commentaires à l'aide d'une variable pour le commentaire de réussite ou le commentaire d'échec. Par exemple : ${var.success} et ${var.failure}.
    4. Cliquez sur Enregistrer.
    Pour ajouter plusieurs événements déclencheurs sur plusieurs pipelines, cliquez de nouveau sur Nouvelle configuration.
    Dans l'exemple suivant, vous pouvez voir des événements pour trois pipelines :
    • Si un événement Modification fusionnée se produit dans le projet Gerrit, le pipeline nommé Pipeline-Gerrit se déclenche.
    • Si un événement Jeu de correctifs créé se produit dans le projet Gerrit, les pipelines nommés Pipeline-Déclencheur-Gerrit et Pipeline-Démo-Gerrit se déclenchent.

    La configuration de l'écouteur et du déclencheur Gerrit inclut les types d'événements et les pipelines qui peuvent être déclenchés.

  11. Cliquez sur Créer.
    Le déclencheur Gerrit apparaît sous la forme d'une nouvelle fiche dans l'onglet Déclencheurs et est défini sur Désactivé par défaut.
  12. Sur la fiche de déclencheur, cliquez sur Activer.
    Après avoir activé le déclencheur, ce dernier peut utiliser l'écouteur Gerrit pour commencer à surveiller les événements qui se produisent sur la branche du projet Gerrit.
    Pour créer un déclencheur ayant les mêmes conditions d'inclusion ou d'exclusion de fichiers, mais avec un référentiel différent de celui que vous avez inclus lorsque vous avez créé le déclencheur, sur la fiche du déclencheur, cliquez sur Actions > Cloner. Ensuite, sur le déclencheur cloné, cliquez sur Ouvrir, puis modifiez les paramètres.

Résultats

Félicitations ! Vous avez correctement configuré un déclencheur Gerrit avec deux événements sur trois pipelines différents.

Que faire ensuite

Après avoir validé une modification de code dans le projet Gerrit, observez l'onglet Activité de l'événement Gerrit dans Code Stream. Vérifiez que la liste des activités inclut des entrées qui correspondent à chaque exécution de pipeline dans la configuration du déclencheur.

Lorsqu'un événement se produit, seuls les pipelines du déclencheur Gerrit qui se rapportent au type d'événement particulier peuvent s'exécuter. Dans cet exemple, si un jeu de correctifs est créé, seuls Pipeline-Déclencheur-Gerrit et Pipeline-Démo-Gerrit s'exécutent.

Les informations contenues dans les colonnes de l'onglet Activité décrivent chaque événement déclencheur Gerrit. Vous pouvez sélectionner les colonnes qui s'affichent en cliquant sur l'icône de colonne qui s'affiche sous le tableau.
  • Les colonnes Modifier l'objet et Exécution sont vides lorsque le déclencheur était un transfert Git direct.
  • La colonne Déclencheur Gerrit affiche le déclencheur qui a créé l'événement.
  • La colonne Écouteur est désactivée par défaut. Lorsque vous la sélectionnez, la colonne affiche l'écouteur Gerrit qui a reçu l'événement. Un même écouteur peut apparaître comme associé à plusieurs déclencheurs.
  • La colonne Type de déclencheur est désactivée par défaut. Lorsque vous la sélectionnez, la colonne affiche le type de déclencheur AUTOMATIQUE ou MANUEL.
  • Les autres colonnes incluent les éléments suivants : Heure de validation, Numéro de modification, État, Message, Action effectuée, Utilisateur, Projet Gerrit, Branche et Événement.

L'onglet Activité du déclencheur Gerrit affiche toutes les colonnes sélectionnées et les informations associées dans chaque colonne pour toutes les entrées d'activité.

Pour contrôler l'activité correspondant à une exécution de pipeline terminée ou ayant échoué, cliquez sur les trois points à gauche d'une entrée, sur l'écran Activité.

  • Si le pipeline ne parvient pas à s'exécuter en raison d'une erreur dans le modèle de pipeline ou d'un autre problème, corrigez l'erreur et sélectionnez Exécuter à nouveau pour exécuter le pipeline à nouveau.
  • Si le pipeline ne parvient pas à s'exécuter en raison d'un problème de connectivité réseau ou d'un autre problème, sélectionnez Reprendre pour redémarrer la même exécution de pipeline et accélérer le processus d'exécution.
  • Utilisez Afficher l'exécution, qui ouvre la vue d'exécution du pipeline. Reportez-vous à la section Comment exécuter un pipeline et afficher les résultats.
  • Utilisez Supprimer pour supprimer l'entrée de l'écran Activité.

Si un événement Gerrit ne parvient pas à déclencher un pipeline, vous pouvez cliquer sur Déclencher manuellement, puis sélectionnez le déclencheur Gerrit, entrez l'ID de modification et cliquez sur Exécuter.

Un événement Gerrit peut ne pas avoir été déclenché en raison d'une perte de connexion entre le serveur Gerrit et le proxy cloud du pipeline. Une perte de connexion peut durer jusqu'à 10 minutes. La perte de connexion peut se produire si le serveur Gerrit est mis à niveau ou redémarré, ou si le proxy cloud du pipeline est mis à niveau.