La liaison d'une tâche de pipeline signifie que vous créez une dépendance pour la tâche lorsque le pipeline s'exécute. Vous pouvez créer une liaison pour une tâche de pipeline de plusieurs manières. Vous pouvez lier une tâche à une autre tâche, la lier à une variable et une expression ou la lier à une condition.

Application de liaisons dollar aux variables de modèle de cloud dans une tâche de modèle de cloud

Vous pouvez appliquer des liaisons dollar aux variables de modèle de cloud dans une tâche de modèle de cloud de pipeline Code Stream. La façon dont vous modifiez les variables dans Code Stream dépend du codage des propriétés de la variable dans le modèle de cloud.

Si vous devez utiliser des liaisons dollar dans une tâche de modèle de cloud, mais que la version actuelle du modèle de cloud que vous utilisez dans la tâche de modèle de cloud ne l'autorise pas, modifiez le modèle de cloud dans Cloud Assembly et déployez une nouvelle version. Ensuite, utilisez la nouvelle version du modèle de cloud dans votre tâche de modèle de cloud et ajoutez les liaisons dollar aux emplacements souhaités.

Vous devez disposer des autorisations appropriées pour appliquer des liaisons dollar aux types de propriété fournis par le modèle de cloud Cloud Assembly.

  • Vous devez avoir le même rôle que la personne qui a créé le déploiement du modèle de cloud dans Cloud Assembly.
  • La personne qui modélise le pipeline et la personne qui exécute le pipeline peuvent être deux utilisateurs différents et peuvent avoir des rôles différents.
  • Si un développeur dispose du rôle d'exécuteur de Code Stream et modélise le pipeline, le développeur doit également disposer du même rôle dans Cloud Assembly que la personne qui a déployé le modèle de cloud. Par exemple, le rôle requis peut être Administrateur de Cloud Assembly.
  • Seule la personne qui modélise le pipeline peut créer le pipeline et créer le déploiement, car elle en a l'autorisation.

Pour utiliser un jeton d'API dans la tâche de modèle de cloud :

  • La personne qui modélise le pipeline peut donner un jeton d'API à un autre utilisateur disposant du rôle Exécuteur de Code Stream. Ensuite, lorsque l'exécuteur exécute le pipeline, il utilise le jeton d'API et les informations d'identification créées par le jeton d'API.
  • Lorsqu'un utilisateur entre le jeton d'API dans la tâche de modèle de cloud, il crée les informations d'identification requises par le pipeline.
  • Pour chiffrer la valeur du jeton d'API, cliquez sur Créer une variable.
  • Si vous ne créez pas de variable pour le jeton d'API et que vous l'utilisez dans la tâche de modèle de cloud, la valeur du jeton d'API s'affiche en texte brut.

Pour appliquer des liaisons dollar à des variables de modèle de cloud dans une tâche de modèle de cloud, procédez comme suit.

Démarrez avec un modèle de cloud dont les propriétés de variable d'entrée sont définies, telles que integerVar, stringVar, flavorVar, BooleanVar, objectVar et arrayVar. Les propriétés d'image définies se trouvent dans la section resources. Les propriétés peuvent être similaires à ce qui suit dans le code du modèle de cloud :

formatVersion: 1
inputs:
  integerVar:
    type: integer
    encrypted: false
    default: 1
  stringVar:
    type: string
    encrypted: false
    default: bkix
  flavorVar:
    type: string
    encrypted: false
    default: medium
  BooleanVar:
    type: boolean
    encrypted: false
    default: true
  objectVar:
    type: object
    encrypted: false
    default:
      bkix2: bkix2
  arrayVar:
    type: array
    encrypted: false
    default:
      - '1'
      - '2'
resources:
  Cloud_Machine_1:
    type: Cloud.Machine
    properties:
      image: ubuntu
      flavor: micro
      count: '${input.integerVar}'

Vous pouvez utiliser les variables à symbole dollar ($) pour image et flavor. Par exemple :

resources:
  Cloud_Machine_1:
    type: Cloud.Machine
    properties:
      input: '${input.image}'
      flavor: '${input.flavor}'

Pour utiliser un modèle de cloud dans un pipeline Code Stream et y ajouter des liaisons dollar, procédez comme suit.

  1. Dans Code Stream, cliquez sur Pipelines > Canevas vide.
  2. Ajoutez une tâche de modèle de cloud au pipeline.
  3. Dans la tâche de modèle de cloud, pour la Source du modèle de cloud, sélectionnez Modèles de cloud Cloud Assembly, entrez le nom du modèle de cloud et sélectionnez sa version.
  4. Notez que vous pouvez entrer un jeton d'API, qui fournit des informations d'identification pour le pipeline. Pour créer une variable qui chiffre le jeton d'API dans la tâche de modèle de cloud, cliquez sur Créer une variable.
  5. Dans le tableau Paramètre et valeur qui s'affiche, notez les valeurs des paramètres. La valeur par défaut pour flavor est small et la valeur par défaut pour l'image est ubuntu.
  6. Supposons que vous devez modifier le modèle de cloud dans Cloud Assembly. Par exemple :
    1. Définissez flavor de façon qu'il utilise une propriété de type array. Cloud Assembly autorise les valeurs séparées par des virgules pour flavor lorsque le type est array.
    2. Cliquez sur Déployer.
    3. Sur la page Type de déploiement, entrez un nom de déploiement et sélectionnez la version du modèle de cloud.
    4. Sur la page Entrées de déploiement, vous pouvez définir une ou plusieurs valeurs pour flavor.
    5. Notez que la page Entrées de déploiement inclut toutes les variables définies dans votre code de modèle de cloud et qui apparaîtront comme définies dans le code du modèle de cloud. Par exemple : Integer Var, String Var, Flavor Var, Boolean Var, Object Var et Array Var. String Var et Flavor Var sont des valeurs de chaîne et Boolean Var est une case à cocher.
    6. Cliquez sur Déployer.
  7. Dans Code Stream, sélectionnez la nouvelle version du modèle de cloud et entrez des valeurs dans la table Paramètre et valeur. Les modèles de cloud prennent en charge les types de paramètres suivants, qui activent les liaisons Code Stream à l'aide de variables à signe dollar. De légères différences existent entre l'interface utilisateur de la tâche du modèle de cloud Code Stream et l'interface utilisateur du modèle de cloud Cloud Assembly. En fonction du codage d'un modèle de cloud dans Cloud Assembly, l'entrée de valeurs dans la tâche du modèle de cloud dans Code Stream peut ne pas être autorisée.
    1. Pour flavorVar, si le modèle de cloud a défini le type comme chaîne ou tableau, entrez une chaîne ou un tableau de valeurs séparées par des virgules. Exemple de tableau : test, test.
    2. Pour BooleanVar, dans le menu déroulant, sélectionnez true ou false. Pour utiliser une liaison de variables, entrez $ et sélectionnez une liaison de variables dans la liste.Lorsque vous ajoutez la variable de liaison en entrant le signe dollar dans la zone de texte BooleanVar, les variables booléennes disponibles s'affichent pour sélection.
    3. Pour objectVar, entrez la valeur entre accolades et guillemets droits en suivant ce format : {"bkix":"bkix":}.
    4. La variable objectVar est transmise au modèle de cloud et peut être utilisée de différentes façons selon le modèle de cloud. Elle autorise un format de chaîne pour un objet JSON et vous pouvez ajouter des paires clé-valeur sous forme de valeurs séparées par des virgules dans la table clé-valeur. Vous pouvez entrer du texte brut pour un objet JSON ou une paire clé-valeur comme format de chaîne normal pour JSON.
    5. Pour arrayVar, entrez la valeur d'entrée séparée par des virgules sous la forme d'un tableau en suivant ce format : ["1","2"].
  8. Dans le pipeline, vous pouvez lier un paramètre d'entrée à un tableau.
    1. Cliquez sur l'onglet Entrée.
    2. Entrez un nom pour l'entrée. Par exemple, arrayInput.
    3. Dans la table Paramètre et valeur, cliquez sur arrayVar et entrez ${input.arrayInput}.
    4. Après avoir enregistré et activé le pipeline, lors de son exécution, vous devez fournir une valeur d'entrée de tableau. Par exemple, entrez ["1","2"], puis cliquez sur Exécuter.

Vous pouvez désormais utiliser les liaisons de variables à symbole dollar ($) dans un modèle de cloud pour une tâche de modèle de cloud de pipeline Code Stream.

Transmission d'un paramètre à un pipeline lors de son exécution

Vous pouvez ajouter des paramètres d'entrée à votre pipeline pour que Code Stream les transmette au pipeline. Ensuite, lorsque le pipeline s'exécute, un utilisateur doit entrer la valeur du paramètre d'entrée. Lorsque vous ajoutez des paramètres de sortie à votre pipeline, les tâches du pipeline peuvent utiliser la valeur de sortie d'une tâche. Code Stream prend en charge l'utilisation de paramètres de plusieurs manières qui répondent à vos propres besoins en matière de pipeline.

Par exemple, pour inviter un utilisateur à saisir l'URL de son serveur Git lorsqu'un pipeline avec une tâche REST s'exécute, vous pouvez lier la tâche REST à l'URL d'un serveur Git.

Pour créer la liaison de variables, ajoutez une variable de liaison d'une URL à la tâche REST. Lorsque le pipeline s'exécute et qu'il atteint la tâche REST, un utilisateur doit entrer son URL vers le serveur Git. Voici comment créer la liaison :

  1. Dans votre pipeline, cliquez sur l'onglet Entrée.
  2. Pour définir le paramètre, dans Paramètres d'insertion automatique, cliquez sur Git.

    La liste des paramètres Git s'affiche et inclut GIT_SERVER_URL. Si vous devez utiliser une valeur par défaut pour l'URL du serveur Git, modifiez ce paramètre.

  3. Cliquez sur Modèle, puis cliquez sur votre tâche REST.
  4. Dans l'onglet Tâche, dans la zone URL, entrez $, puis sélectionnez entrée et GIT_SERVER_URL.

    Lorsque vous ajoutez la variable de liaison en entrant le signe dollar dans la zone de texte URL et que vous sélectionnez input, les paramètres d'entrée Git disponibles s'affichent pour sélection.

    L'entrée ressemble à ce qui suit : ${input.GIT_SERVER_URL}

  5. Pour vérifier l'intégrité de la liaison de variables pour la tâche, cliquez sur Valider la tâche.

    Code Stream indique que la tâche a été correctement validée.

  6. Lorsque le pipeline exécute la tâche REST, un utilisateur doit entrer l'URL du serveur Git. Dans le cas contraire, la tâche ne termine pas son exécution.

Liaison de deux tâches de pipeline par la création de paramètres d'entrée et de sortie

Lorsque vous liez deux tâches entre elles, vous ajoutez une variable de liaison à la configuration d'entrée de la tâche réceptrice. Ensuite, lorsque le pipeline s'exécute, un utilisateur remplace la variable de liaison par l'entrée requise.

Pour lier des tâches de pipeline entre elles, vous utilisez la variable de signe dollar ($) dans les paramètres d'entrée et de sortie. Cet exemple montre comment procéder.

Supposons que vous ayez besoin de votre pipeline pour appeler une URL dans une tâche REST et pour envoyer une réponse. Pour appeler l'URL et afficher la réponse, vous incluez les paramètres d'entrée et de sortie dans votre tâche REST. Vous avez également besoin d'un utilisateur pouvant approuver la tâche, et inclure une tâche Opérations d'utilisateur pour un autre utilisateur qui peut l'approuver lorsque le pipeline s'exécute. Cet exemple vous présente comment utiliser des expressions dans les paramètres d'entrée et de sortie et faire en sorte que le pipeline attende l'approbation sur la tâche.

  1. Dans votre pipeline, cliquez sur l'onglet Entrée.

    L'onglet Entrée sur le pipeline affiche les sélections des paramètres d'entrée Gerrit, Git et Docker, et répertorie les paramètres disponibles pour chaque sélection.

  2. Laissez les Paramètres d'insertion automatique sur Aucun.
  3. Cliquez sur Ajouter, entrez le nom, la valeur et la description du paramètre, puis cliquez sur OK. Par exemple :
    1. Entrez un nom d'URL.
    2. Entrez la valeur : {Stage0.Task3.input.http://www.docs.vmware.com}
    3. Entrez une description.
  4. Cliquez sur l'onglet Sortie, cliquez sur Ajouter, puis entrez le nom et le mappage du paramètre de sortie.

    Dans l'onglet Sortie sur le pipeline, vous pouvez ajouter un paramètre de sortie et sélectionner un paramètre de réponse REST issu de la liste qui s'affiche.

    1. Entrez un nom de paramètre de sortie unique.
    2. Cliquez dans la zone de Référence et entrez $.
    3. Entrez le mappage de sortie de la tâche en sélectionnant les options lorsqu'elles s'affichent. Sélectionnez Stage0, sélectionnez Task3, sélectionnez sortie et sélectionnez responseCode. Ensuite, cliquez sur OK.

      Après l'ajout d'un paramètre de sortie, l'onglet Sortie affiche le nom du paramètre que vous avez ajouté et sa référence dans l'étape et la tâche du pipeline.

  5. Enregistrez votre pipeline.
  6. Dans le menu Actions, cliquez sur Exécuter.
  7. Cliquez sur Actions > Afficher les exécutions.
  8. Cliquez sur l'exécution du pipeline et examinez les paramètres d'entrée et de sortie que vous avez définis.

    L'exécution du pipeline affiche le paramètre d'entrée d'URL avec l'URL que vous avez entrée et le paramètre Sortie de réponse avec le code de réponse que vous avez sélectionné.

  9. Pour approuver le pipeline, cliquez sur Opérations de l'utilisateur et affichez la liste des approbations dans l'onglet Éléments actifs. Sinon, restez dans Exécutions, cliquez sur la tâche, puis sur Approuver.
  10. Pour activer les boutons Approuver et Refuser, cochez la case en regard de l'exécution.
  11. Pour afficher les détails, développez la flèche déroulante.
  12. Pour approuver la tâche, cliquez sur APPROUVER, entrez un motif et cliquez sur OK.

    Des détails sur l'opération de l'utilisateur indiquent qui a demandé l'approbation, et à quel moment, les approbateurs requis et à quel moment l'approbation expire.

  13. Cliquez sur Exécutions et observez la suite de l'exécution du pipeline.

    Après l'approbation de l'opération de l'utilisateur, le pipeline continue et l'état sur l'exécution du pipeline indique EXÉCUTION.

  14. Si le pipeline échoue, corrigez les erreurs, puis enregistrez le pipeline et exécutez-le à nouveau.

    Lorsqu'un pipeline se termine, l'état de l'exécution du pipeline indique TERMINÉ.

En savoir plus sur les variables et les expressions

Pour obtenir des détails sur l'utilisation de variables et d'expressions lorsque vous liez des tâches de pipeline, reportez-vous à la section Quelles variables et expressions peuvent être utilisées lors de la liaison de tâches de pipeline dans Code Stream.

Pour savoir comment utiliser la sortie de la tâche de pipeline avec une liaison de variables de condition, reportez-vous à la section Utilisation des liaisons de variables dans une tâche de condition pour l'exécution ou l'arrêt d'un pipeline dans Code Stream.