En tant qu'administrateur ou développeur de Code Stream, vous pouvez utiliser le déclencheur Gerrit pour intégrer les services cloud de Code Stream au cycle de vie de révision du code 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 pour Gerrit, vous sélectionnez un écouteur Gerrit et un projet Gerrit sur le serveur, et 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

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é. Si vous avez copié le jeton, le jeton d'API affiche le jeton masqué.

      Écouteur Gerrit pour le SaaS du déclencheur

    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 Gerrit.
  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é.
    Code Stream utilise la sélection de l'écouteur Gerrit pour fournir 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 à surveiller.
  9. (Facultatif) Précisez des inclusions ou des exclusions de fichier comme conditions pour le déclencheur.
    • Vous fournissez des inclusions de fichiers afin que les pipelines se déclenchent. 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 pour empêcher 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.
    • 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.

    Exemples d'inclusion et d'exclusion 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.
  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 à 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.
      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 utilisées pour configurer le déclencheur ne seront pas mises à jour si les valeurs des paramètres dans le modèle de pipeline sont modifiées.

      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.
    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, Pipeline-Gerrit est déclenché.
    • Si un événement Jeu de correctifs créé se produit dans le projet Gerrit, Pipeline-Déclencheur-Gerrit et Pipeline-Démo-Gerrit se déclenchent.

    Configuration de l'écouteur et du déclencheur Gerrit

  11. Cliquez sur Créer.
    Le déclencheur s'affiche sous la forme d'une nouvelle fiche et est désactivé par défaut.
  12. Sur la fiche de déclencheur, cliquez sur Activer.
    Lorsque le déclencheur est activé, il utilise l'écouteur Gerrit pour commencer à surveiller les événements qui se produisent sur la branche du projet Gerrit.
    Lorsque vous créez le déclencheur, vous incluez le référentiel dans lequel le code est validé. Si vous souhaitez créer un déclencheur avec les mêmes conditions d'inclusion ou d'exclusion de fichier, mais avec un référentiel différent, par exemple, vous pouvez cliquer sur Actions > Cloner sur la fiche de déclencheur. Cliquez ensuite sur Ouvrir sur le nouveau déclencheur et 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, vérifiez l'onglet Activité de l'événement Gerrit dans Code Stream. Vérifiez que la liste d'activités inclut les entrées correspondant à chaque exécution de pipeline configurée dans le déclencheur. Lorsqu'un événement se produit, seuls les pipelines du déclencheur Gerrit qui sont associés au type d'événement particulier s'exécutent. 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 choisir les colonnes à afficher.
  • Les colonnes Modifier l'objet et Exécution sont vides si 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. Lorsqu'elle est sélectionnée, cette colonne affiche l'écouteur Gerrit qui a reçu l'événement. Un écouteur peut être associé à plusieurs déclencheurs.
  • La colonne Type de déclencheur est désactivée par défaut. Lorsqu'elle est sélectionnée, cette colonne indique si le déclencheur a été déclenché manuellement ou automatiquement.

Activité du déclencheur Gerrit

Pour contrôler l'activité correspondant à une exécution 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. Cela permet de gagner en temps d'exécution.
  • Utilisez Afficher l'exécution pour basculer vers l'écran Exécution. 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 le bouton Déclencher manuellement, et entrer le nom du déclencheur Gerrit et l'ID de modification.

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 des pipelines. La perte de connexion peut durer jusqu'à 10 minutes. Une perte de connexion peut se produire si le serveur Gerrit est mis à niveau ou redémarré. Cela peut également se produire si le proxy cloud des pipelines est mis à niveau.