Stages
Un stage es un componente fundamental en un pipeline que organiza la secuencia de ejecución de los jobs dentro de un pipeline. Cada stage representa una fase distinta en el proceso de entrega de software, como la compilación, las pruebas o el despliegue de una aplicación. Los stages permiten la agrupación lógica y la separación de jobs, lo que facilita la ejecución paralela para tiempos de compilación y despliegue más rápidos. También facilitan la gestión eficiente de pipelines complejos al dividir el flujo de trabajo en unidades manejables, proporcionando claridad y control sobre todo el proceso de despliegue.
Puedes definir los stages requeridos para el pipeline como pares clave-valor utilizando la clave stages.
Puedes obtener el estado actual de un stage utilizando << status.{stage_name} >>.
-
Los múltiples stages en un pipeline se ejecutan secuencialmente por defecto, procediendo uno tras otro. Tienes la opción de definir condiciones para la ejecución de stages, lo que permite un control personalizado sobre cuándo se activa cada stage. Consulta esta sección para aprender sobre la definición de condiciones en el pipeline.
-
En una configuración de pipeline, debe haber al menos un stage y no más de cinco stages. Además, cada stage puede alojar un máximo de cinco jobs, que incluye jobs paralelos.
Propiedades de un Stage
Puedes definir los stages en tu pipeline con una o más combinaciones de los atributos listados a continuación:
| Clave | Valor | Es obligatorio |
|---|---|---|
| name | Proporciona el nombre del stage como un valor de tipo string. | Sí |
| jobs | Un arreglo de jobs | Sí |
| runner | El nombre del runner en el cual se deben ejecutar los jobs | No |
| image | El nombre de la image que se utiliza para la ejecución de jobs en el stage particular. | No |
| when | La lógica condicional en base a la cual se debe ejecutar el stage. Puedes utilizar los operadores “and”, “or”, “not”, “not-equal” o “equal” junto con la condición base. | No |
Fragmento de código YAML para Stage
A continuación se muestra un fragmento de código de ejemplo para stages que se pueden definir en un pipeline:
stages:
- name: testStage1
runner: runner1
image: testImage1
jobs:
- testJob1
when:
- and:
- equal:
- << pipeline.event.branch >>
- master
- true
- name: testStage2
jobs:
- testJob1
- - testJob2
- testJob3
El código anterior ilustra el siguiente flujo de trabajo:
- Hay dos stages definidos en el pipeline: testStage1 y testStage2.
- El stage testStage1 ejecuta un job (testJob1) y el stage testStage2 ejecuta tres jobs (testJob1 y un job paralelo). El job paralelo incluye los jobs testJob2 y testJob3, respectivamente.
- El runner y la image se han definido a nivel de stage y serán utilizados por ambos stages.
- La condición when valida si la rama actual apunta a master, y si esto se cumple, se ejecutará el testJob1.
Última actualización 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us