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.

Suppression ou arrêt du partage d'un pipeline

Si vous ajoutez un pipeline partagé en tant que tâche imbriquée, il est référencé par le pipeline dans lequel il est imbriqué. 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.

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. Ouvrez les pipelines qui référencent le pipeline partagé, supprimez la tâche imbriquée et 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.