En tant qu'administrateur Code Stream, vous pouvez partager des pipelines afin que les utilisateurs d'une organisation puissent les exécuter sur un autre projet ou les ajouter en tant que tâches imbriquées dans un pipeline sur un autre projet.

Pourquoi un pipeline partagé est-il utile ?

Lorsque vous partagez un pipeline, vous éliminez la nécessité de créer le même pipeline pour différents projets au sein d'une organisation. Si vous mettez à jour un pipeline partagé, tous les utilisateurs de pipeline disposeront de la même mise à jour.

Un pipeline partagé peut également être utilisé dans Service Broker. Un administrateur Service Broker peut ajouter votre pipeline partagé en tant qu'élément du catalogue pour que les utilisateurs puissent le demander et l'exécuter sur plusieurs projets.

Seuls les administrateurs Code Stream peuvent partager ou arrêter le partage de pipelines.

Partage d'un pipeline

Pour partager un pipeline, cliquez sur Pipeline et sélectionnez le pipeline à partager.

  1. Cliquez sur Actions > Partager entre les projets
  2. Lorsque le pipeline est désactivé, cliquez sur Actions > Activer.
  3. (Facultatif) Pour rendre votre pipeline partagé disponible dans Service Broker, cliquez sur Actions > Publier.

    Après avoir libéré le pipeline, un administrateur Service Broker peut l'ajouter à Service Broker. Reportez-vous à la section Ajouter des pipelines Code Stream au catalogue Service Broker.

Exécution d'un pipeline partagé

Pour exécuter un pipeline partagé, vous sélectionnez le pipeline et sélectionnez un projet.

Le pipeline est exécuté dans le contexte du projet que vous sélectionnez, et seul le modèle de pipeline est partagé. Toutes les infrastructures telles que les points de terminaison ou les variables utilisés dans le pipeline ne sont pas partagées. Si un pipeline partagé qui utilise des points de terminaison ou des variables est exécuté sur un projet différent, ces points de terminaison et variables doivent être disponibles sur ce projet.

Par exemple, supposons que jenkinsPipeline utilise projectA et inclut une tâche avec un point de terminaison nommé jenkinsEndpoint.

Pour exécuter un pipeline partagé, vérifiez qu'il inclut le contenu requis pour être exécuté dans un projet différent.

Si vous partagez jenkinsPipeline et que vous souhaitez l'exécuter dans le contexte de projectB, un jenkinsEndpoint doit se trouver sur projectB. S'il n'y a pas de jenkinsEndpoint, créez le point de terminaison sur projectB avant d'exécuter le pipeline partagé.

La procédure suivante montre comment dupliquer un point de terminaison sur un autre projet. Vous suivez les mêmes étapes pour une variable.

  1. Cliquez sur Points de terminaison. Sur le point de terminaison que vous souhaitez dupliquer, par exemple jenkinsEndpoint, cliquez sur Actions > Exporter.
  2. Cliquez sur le bouton Importer et sélectionnez le fichier YAML pour jenkinsEndpoint.
  3. Modifiez le fichier pour changer le projet, tel que projectB dans l'exemple de code YAML suivant.
    ---
    project: projectB
    kind: ENDPOINT
    name: jenkinsEndpoint
    ...
  4. Cliquez sur Importer.

Pour exécuter jenkinsPipeline sur projectB, cliquez sur Exécuter sur la fiche du pipeline et sélectionnez projectB comme projet.

Note : Pour exécuter le pipeline partagé dans projectB, vous devez disposer du rôle Code Stream d'administrateur, de développeur ou d'exécuteur. Si vous êtes un observateur ou un utilisateur de Code Stream, vous ne pouvez pas exécuter le pipeline, sauf si un administrateur de Code Stream fait de vous un administrateur de projet ou un membre du projet dans projectB. Pour plus d'informations sur les rôles dans Code Stream, reportez-vous à la section Gestion de l'accès et des approbations utilisateur dans Code Stream.

Ajout d'un pipeline partagé à un autre pipeline

L'utilisation de pipelines partagés en tant que tâches imbriqués dans un autre pipeline vous permet d'étendre la fonctionnalité de pipeline au-delà des pipelines inclus dans un projet. Les pipelines partagés peuvent se trouver sur des projets différents les uns des autres et différents du pipeline dans lequel ils sont inclus en tant que tâches imbriquées.

L'exemple suivant montre un pipeline nommé master-shared-pipeline-demo avec deux tâches de pipeline imbriquées.

Lorsque vous créez un pipeline avec des pipelines partagés imbriqués, sélectionnez le pipeline partagé et, s'il existe deux pipelines portant le même nom, utilisez le nom du projet pour sélectionner celui que vous souhaitez.

Pour spécifier le pipeline pour Task0, effectuez la sélection dans une liste de pipelines partagés. Chaque nom de pipeline inclut le nom du projet. Si plusieurs pipelines partagés portent le même nom, vous pouvez utiliser le nom du projet pour sélectionner celui que vous souhaitez.

Note : Pour exécuter un pipeline qui inclut des pipelines imbriqués, il doit pouvoir accéder à des points de terminaison ou des variables utilisés dans les pipelines imbriqués. Si ce n'est pas le cas, vous devez créer le contenu sur le projet pour le pipeline.

Utilisation d'un pipeline partagé pour la restauration

Pour utiliser un pipeline partagé pour la restauration, sélectionnez-le dans une liste de pipelines lorsque vous configurez la restauration pour la tâche. Code Stream filtre la liste pour afficher uniquement les pipelines sur le même projet ou les pipelines partagés sur différents projets.

Lorsque vous ajoutez un pipeline pour la restauration, sélectionnez le pipeline partagé et, s'il existe deux pipelines portant le même nom, utilisez le nom du projet pour sélectionner celui que vous souhaitez.

Utilisation d'un modèle de cloud VMware partagé dans un pipeline

Vous pouvez utiliser un modèle de cloud VMware partagé comme source de modèle de cloud pour une tâche dans un pipeline. L'utilisation de modèles de cloud partagés permet d'accéder à davantage de modèles de cloud que ceux inclus dans un projet.

Avant de définir la tâche dans Code Stream, vérifiez que le modèle de cloud est partagé dans Cloud Assembly et que vous connaissez le nom et la version. Lorsqu'un modèle de cloud est partagé, une icône en regard du nom du projet s'affiche dans la liste des modèles de cloud.

Avant d'ajouter un modèle de cloud partagé en tant que source dans votre pipeline, vérifiez que le modèle de cloud VMware est partagé dans Cloud Assembly.

Pour utiliser un modèle de cloud VMware dans votre pipeline partagé :
  • Pour Type de tâche,sélectionnez Modèle de cloud VMware.
  • Pour Action, sélectionnez Créer un déploiement ou Mettre à jour un déploiement.
  • Si vous mettez à jour un déploiement, sélectionnez le nom du déploiement.
  • Pour la source du modèle de cloud, sélectionnez Modèle de cloud VMware.
  • Pour le nom du modèle de cloud, vous pouvez sélectionner dans la liste des modèles de cloud ou saisir un nom. Si le modèle de cloud n'est pas répertorié, c'est parce que le modèle de cloud se trouve dans un projet différent du pipeline et Code Stream répertorie uniquement les modèles de cloud qui se trouvent dans le même projet.
  • Pour Version du modèle de cloud, entrez la version du modèle de cloud.

Dans l'exemple suivant, shared-bp est le modèle de cloud VMware partagé que vous avez vérifié dans Cloud Assembly et que vous souhaitez utiliser, mais celui-ci n'est pas répertorié dans la sélection, vous devez donc saisir le nom.

Lorsque vous définissez une tâche avec un modèle de cloud partagé, vérifiez que le modèle de cloud est partagé dans Cloud Assembly, puis entrez le nom et la version dans Code Stream.
Note : Si le modèle de cloud VMware que vous spécifiez n'est pas partagé et que vous tentez de l'utiliser dans un pipeline sur un autre projet, le pipeline échoue avec un message indiquant que le modèle de cloud sélectionné n'est pas partagé.

Suppression ou arrêt du partage d'un pipeline

Si vous ajoutez un pipeline partagé en tant que tâche imbriquée ou de restauration, il est référencé par le pipeline dans lequel il est utilisé. Si vous souhaitez supprimer ou arrêter le partage du pipeline, vous devez le supprimer de tout pipeline qui y fait référence.

Par exemple, si master-shared-pipeline-demo inclut Shared-Pipeline en tant que tâche imbriquée, Shared-Pipeline est référencé. Vous ne pouvez pas supprimer ou arrêter le partage de Shared-Pipeline tant que vous ne l'avez pas supprimer de master-shared-pipeline-demo.

Sinon, si TestRollback utilise Shared-Pipeline pour restaurer une tâche, Shared-Pipeline est référencé. Vous ne pouvez pas supprimer ou arrêter le partage de Shared-Pipeline tant que vous ne l'avez pas retiré de la restauration sur la tâche dans TestRollback.

La procédure suivante montre comment vérifier les références d'un pipeline et le supprimer du pipeline qui y fait référence avant de le supprimer ou d'arrêter de le partager.

  1. Vérifiez les références et mettez à jour les références de pipeline, le cas échéant.
    1. Cliquez sur Pipelines. Sur le pipeline partagé que vous souhaitez vérifier, cliquez sur Actions > Afficher les références.
    2. Notez les noms des Pipelines référencés.Avant de supprimer un pipeline partagé, vérifiez s'il n'est pas est utilisé comme pipeline imbriqué ou pour une restauration par d'autres pipelines.
    3. Ouvrez les pipelines qui référencent le pipeline partagé. Supprimez le pipeline partagé qui est utilisé comme tâche imbriqué ou pour restaurer une tâche, puis enregistrez le pipeline.
  2. Supprimez ou arrêtez le partage d'un pipeline.
    • Sur le pipeline que vous souhaitez supprimer, cliquez sur Actions > Supprimer.
    • Sur le pipeline que vous souhaitez arrêter de partager, cliquez sur Actions > Arrêter le partage.