Como administrador de Code Stream, puede compartir canalizaciones para que los usuarios de una organización puedan ejecutarlas en cualquier otro proyecto o agregarlas como tareas anidadas dentro de una canalización en otro proyecto.
Por qué es útil una canalización compartida
Cuando se comparte una canalización, no es necesario crear la misma canalización para diferentes proyectos dentro de una organización. Además, si se actualiza una canalización compartida, todos los usuarios de la canalización tendrán la misma actualización.
También se puede utilizar una canalización compartida en Service Broker. Un administrador de Service Broker puede agregar la canalización compartida como un elemento del catálogo para que los usuarios la soliciten y la ejecuten en varios proyectos.
Solo los administradores de Code Stream pueden compartir o dejar de compartir canalizaciones.
Cómo compartir una canalización
Para compartir una canalización, haga clic en Canalizaciones y seleccione la canalización que desea compartir.
- Haga clic en
- Si la canalización está desactivada, haga clic en .
- (opcional) Para que la canalización compartida esté disponible en Service Broker, haga clic en .
Luego de publicar la canalización, un administrador de Service Broker puede agregarla a Service Broker. Consulte Agregar canalizaciones de Code Stream al catálogo de Service Broker.
Cómo ejecutar una canalización compartida
Para ejecutar una canalización compartida, seleccione la canalización y seleccione un proyecto.
La canalización se ejecuta en el contexto del proyecto que seleccione y solo se comparte el modelo de canalización. No se comparte ninguna infraestructura, como los endpoints o las variables que se utilizan en la canalización. Si una canalización compartida que utiliza endpoints o variables se ejecuta en un proyecto diferente, dichos endpoints y variables deben estar disponibles en ese proyecto.
Por ejemplo, supongamos que jenkinsPipeline
utiliza projectA
e incluye una tarea con un endpoint denominado jenkinsEndpoint
.
Si comparte jenkinsPipeline
y desea ejecutarla en el contexto de projectB
, debe haber un jenkinsEndpoint
en projectB
. Si no existe jenkinsEndpoint
, cree el endpoint en projectB
antes de ejecutar la canalización compartida.
El siguiente procedimiento muestra cómo duplicar un endpoint en otro proyecto. Se siguen pasos similares para una variable.
- Haga clic en Endpoints. En el endpoint que desea duplicar, por ejemplo,
jenkinsEndpoint
, haga clic en . - Haga clic en el botón Importar y seleccione el archivo YAML para
jenkinsEndpoint
. - Edite el archivo para cambiar el proyecto, como
projectB
en el siguiente código YAML de ejemplo.--- project: projectB kind: ENDPOINT name: jenkinsEndpoint ...
- Haga clic en Importar.
Para ejecutar jenkinsPipeline
en projectB
, haga clic en Ejecutar en la tarjeta de canalización y seleccione projectB
como el proyecto.
projectB
, debe tener la función de administrador, desarrollador o ejecutor de
Code Stream. Si es usuario o visor de
Code Stream, no puede ejecutar la canalización a menos que un administrador de
Code Stream lo convierta en administrador del proyecto o miembro del proyecto
projectB
. Para obtener más información acerca de las funciones en
Code Stream, consulte
Cómo se administran las autorizaciones y el acceso de los usuarios en Code Stream.
Cómo agregar una canalización compartida a otra canalización
El uso de canalizaciones compartidas como tareas anidadas dentro de otra canalización permite ampliar la funcionalidad de la canalización más allá de las canalizaciones que se incluyen en un proyecto. Las canalizaciones compartidas pueden estar en proyectos diferentes entre sí y de la canalización en la que se incluyen como tareas anidadas.
El siguiente ejemplo muestra una canalización denominada master-shared-pipeline-demo
con dos tareas de canalización anidadas.
Para especificar la canalización de Task0
, selecciónela de una lista de canalizaciones compartidas. Cada nombre de canalización incluye el nombre del proyecto. Si varias canalizaciones compartidas tienen el mismo nombre, puede utilizar el nombre del proyecto para seleccionar la que desee.
Cómo eliminar o dejar de compartir una canalización
Si agrega una canalización compartida como una tarea anidada, la canalización en la que está anidada hace referencia a esa canalización. Si desea eliminar o dejar de compartir la canalización, debe eliminarla de cualquier canalización que haga referencia a ella.
Por ejemplo, si master-shared-pipeline-demo
incluye Shared-Pipeline
como una tarea anidada, se hace referencia a Shared-Pipeline
. No se puede eliminar o dejar de compartir Shared-Pipeline
hasta que se quite de master-shared-pipeline-demo
.
El siguiente procedimiento muestra cómo comprobar las referencias de una canalización y eliminarla de la canalización que hace referencia a ella antes de eliminarla o dejar de compartirla.
- Compruebe las referencias y actualice las referencias de la canalización si las encuentra.
- Haga clic en Canalizaciones. En la canalización compartida que desea comprobar, haga clic en .
- Abra las canalizaciones que hacen referencia a la canalización compartida, elimine la tarea anidada y guarde la canalización.
- Eliminar o dejar de compartir una canalización.
- En la canalización que desea eliminar, haga clic en .
- En la canalización que desea dejar de compartir, haga clic en .