Code Stream vous permet de déclencher un pipeline lorsqu'un code fait l'objet d'une révision dans votre projet Gerrit. Le déclencheur de la définition Gerrit inclut le projet Gerrit et les pipelines à exécuter pour différents types d'événement.

Le déclencheur pour Gerrit utilise un écouteur Gerrit sur le serveur que vous allez surveiller. Pour définir un point de terminaison Gerrit dans Code Stream, vous sélectionnez un projet et entrez l'URL du serveur Gerrit. Spécifiez ensuite le point de terminaison lorsque vous créez un écouteur Gerrit sur ce serveur.

Si vous utilisez un serveur Gerrit comme point de terminaison Code Stream dans une instance de vRealize Automation sur laquelle FIPS est activé, vous devez vérifier que votre fichier de configuration Gerrit inclut les clés d'authentification de message correctes. Si le fichier de configuration du serveur Gerrit n'inclut pas les clés d'authentification de message correctes, le serveur ne peut pas démarrer correctement et affiche le message suivant : PrivateKey/PassPhrase is incorrect

La procédure suivante montre comment définir un point de terminaison Gerrit que vous pouvez utiliser dans la définition de votre écouteur Gerrit. Si vous devez modifier un point de terminaison, une étape facultative à la fin de la procédure explique comment et quand effectuer la mise à jour.

Conditions préalables

  • Vérifiez que vous pouvez accéder au serveur Gerrit auquel vous prévoyez de vous connecter.
  • Assurez-vous d'être membre d'un projet dans Code Stream. Si vous n'êtes pas membre, 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 Code Stream.

Procédure

  1. Définissez un point de terminaison Gerrit.
    1. Cliquez sur Configurer > Points de terminaison et cliquez sur Nouveau point de terminaison.
    2. Sélectionnez un projet et pour le type de point de terminaison sélectionnez Gerrit. 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.
    4. Entrez l'URL du serveur Gerrit.
      Pour utiliser le port par défaut vous pouvez fournir un numéro de port avec l'URL ou laisser la valeur vide.
    5. Indiquez un nom d'utilisateur et un mot de passe pour le serveur Gerrit.
      Si le mot de passe doit être chiffré, cliquez sur Créer une variable et sélectionnez le type :
      • Secret. Le mot de passe est résolu lorsqu'un utilisateur ayant un rôle exécute le pipeline.
      • Restreint. Le mot de passe est résolu lorsqu'un utilisateur ayant le rôle d'administrateur exécute le pipeline.

      Pour la valeur , entrez le mot de passe qui doit être sécurisé, tel que le mot de passe d'un serveur Jenkins.

    6. Pour la clé privée, entrez la clé SSH utilisée pour accéder en toute sécurité au serveur Gerrit.
      Cette clé est la clé privée RSA qui réside dans le répertoire .ssh.
    7. (Facultatif) Si une phrase secrète est associée à la clé privée, entrez la phrase secrète.
      Pour chiffrer la phrase secrète, cliquez sur Créer la variable et sélectionnez le type :
      • Secret. Le mot de passe est résolu lorsqu'un utilisateur ayant un rôle exécute le pipeline.
      • Restreint. Le mot de passe est résolu lorsqu'un utilisateur ayant le rôle d'administrateur exécute le pipeline.

      Pour la valeur, entrez la phrase secrète à sécuriser, telle que la phrase secrète d'un serveur SSH.

  2. Cliquez sur Valider et vérifiez que le point de terminaison Gerrit dans Code Stream se connecte au serveur Gerrit.
    S'il ne se connecte pas, corrigez les erreurs éventuelles, puis cliquez de nouveau sur Valider.
    Lorsque vous ajoutez un point de terminaison pour le déclencheur Gerrit, vous devez confirmer que le point de terminaison Gerrit se connecte au serveur Gerrit.
  3. Cliquez sur Créer.
  4. Vérifiez que FIPS est activé dans l'environnement vRealize Automation ou que la tâche Jenkins crée un environnement dans lequel FIPS est activé à l'aide de l'URL Jenkins.
    1. Pour exécuter la commande à partir de la ligne de commande, connectez-vous à votre dispositif vRealize Automation 8.x via SSH et connectez-vous en tant qu'utilisateur racine. Par exemple, connectez-vous à l'URL de votre nom de domaine complet, telle que https://cava-1-234-567.yourcompanyFQDN.com sur le port 22, 5480 ou 443.
    2. Pour vérifier la présence de FIPS sur vRealize Automation, exécutez la commande vracli security fips.
    3. Vérifiez que la commande renvoie FIPS mode: strict.
  5. Si le serveur Gerrit est un point de terminaison dans une instance de vRealize Automation sur laquelle FIPS est activé, assurez-vous que votre fichier de configuration Gerrit inclut les clés d'authentification de message correctes (MAC).
    1. Ouvrez Gerrit et créez une paire de clés SSH.
    2. Localisez le fichier de configuration du serveur Gerrit dans '$site_path'/etc/Gerrit.config.
    3. Vérifiez que le fichier de configuration du serveur Gerrit inclut une ou plusieurs clés de code d'authentification de message (MAC), à l'exception de hmac-MD5.
      Note : En mode FIPS, hmac-MD5 n'est pas un algorithme MAC pris en charge. Pour vous assurer que le serveur Gerrit démarre correctement, le fichier de configuration du serveur Gerrit doit exclure cet algorithme. Si le serveur Gerrit ne démarre pas correctement, il affiche le message suivant : PrivateKey/PassPhrase is incorrect
      Les noms de clé MAC (Message Authentication Code) pris en charge qui commencent par un signe plus (+) sont activés. Les noms de clé MAC qui commencent par un trait d'union (-) sont supprimés de la liste des code MAC par défaut. Par défaut, ces MAC pris en charge sont disponibles dans Code Stream pour le serveur Gerrit :
      • hmac-md5-96
      • hmac-sha1
      • hmac-sha1-96
      • hmac-sha2-256
      • hmac-sha2-512
  6. (Facultatif) Avant de mettre à jour un point de terminaison Gerrit pour modifier une URL ou une clé privée, par exemple, vérifiez si le point de terminaison est connecté à un écouteur Gerrit.
    • Si le point de terminaison n’est pas connecté à un écouteur Gerrit, procédez comme suit pour mettre à jour le point de terminaison :
      1. Cliquez sur Configurer > Points de terminaison et cliquez sur Ouvrir sur le point de terminaison à mettre à jour.
      2. Mettez à jour la définition du point de terminaison.
      3. Cliquez sur Valider pour vérifier que le point de terminaison Gerrit dans Code Stream se connecte au serveur Gerrit.
      4. Cliquez sur Enregistrer.
    • Si le point de terminaison est connecté à un écouteur Gerrit, procédez comme suit pour mettre à jour le point de terminaison :
      1. Déconnectez tous les écouteurs Gerrit attachés. Reportez-vous à la section Utilisation du déclencheur Gerrit dans Code Stream pour exécuter un pipeline.
      2. Effectuez les étapes de configuration du nouveau point de terminaison.
      3. Validez et enregistrez la définition de point de terminaison mise à jour.
      4. Reconnectez les écouteurs Gerrit.
      Note : Si les écouteurs Gerrit ne se déconnectent pas, cela peut être dû au fait que des valeurs de point de terminaison Gerrit actuelles ont été modifiées, de sorte que les écouteurs ne peuvent plus communiquer avec le serveur Gerrit. Si ce problème se produit, commencez par modifier la définition du point de terminaison afin que les écouteurs puissent communiquer avec le serveur Gerrit. Déconnectez ensuite les écouteurs Gerrit et reconnectez-les.

Que faire ensuite

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