Saltar a contenido

Rules Pipeline

Una regla pipeline es una regla que despliega contenidos de changeset en un entorno.

La regla pipeline es el núcleo de un Job.

Típicamente, las reglas pipeline girarán en torno a las tareas necesarias para cambiar un entorno:

  • build
  • package
  • test
  • provision
  • orchestrate
  • deploy

Por lo tanto, una regla pipeline debería, al menos, realizar una (si no todas) de las actividades anteriores.

La regla también puede convertirse en la predeterminada para una transición dada:

  • Promote - Promueve a un entorno conceptualmente superior, por ejemplo, de preproducción a producción.
  • Static - Se utiliza para redesplegar changesets en el mismo entorno que actualmente ocupan.
  • Demote - Degrada a un entorno conceptualmente inferior, por ejemplo, de producción (PROD) a preproducción (PREP).

Pasos de Job

Cuando se crea una regla pipeline, se precargan los 5 pasos estándar. Estos son:

  • CHECK
  • INIT
  • PRE
  • RUN
  • POST

CHECK

Controla si el job debe crearse o no en primer lugar.

Durante un paso CHECK, el objeto job aún no está disponible. No hay ID de job.

Si el paso CHECK falla, el job no se crea y el usuario recibirá un mensaje de error en la interfaz web, con el mensaje lanzado por la regla.

INIT

El paso INIT es muy similar al paso CHECK, pero la diferencia es que el objeto job ya está creado en el sistema.

El paso INIT ejecuta operaciones en tiempo de usuario, por lo que el usuario estará esperando a que el paso se complete, al igual que con el paso CHECK.

Lanzar errores en el paso INIT dejará el job en un estado de Error y no se ejecutará. El usuario recibirá un mensaje de error indicando que el job no pudo iniciarse por la razón indicada en la operación FAIL.

El paso INIT debe usarse por 2 razones principales:

  • cuando es necesario que la información de verificación de un job fallido se registre como parte del log del job.

  • cuando queremos que el usuario espere confirmación de que el job ha sido creado.

Warning

No sobrecargue los pasos INIT o CHECK con tareas complejas y potencialmente lentas. Mientras ambos pasos se ejecutan, el usuario está bloqueado en la interfaz.

PRE

El paso PRE contiene operaciones que se ejecutarán inmediatamente después de que se cree el job y se complete el paso INIT.

Aquí es donde deben ejecutarse las actividades que no modifican un entorno, como build, package o testing.

No coloque operaciones que modifiquen el entorno aquí, como desplegar los binarios o paquetes de la aplicación, o reiniciar servidores.

Use el paso PRE para preparar todo lo que será necesario para el paso RUN del pipeline para desplegar su aplicación.

RUN

Este paso contiene la parte de la regla que se ejecutará en el momento programado.

Para pipelines que no están programados, el paso RUN puede comenzar inmediatamente después del paso PRE. Pero si el job se ha programado para más tarde, entonces el job hará una pausa después de que se complete el paso PRE esperando el tiempo programado. Esto se muestra en el monitor como el estado Ready del paso RUN.

POST

El paso POST es donde se ejecutan el control de errores y las operaciones de ejecución finales. La actividad típica de POST puede incluir:

  • mover changesets y otros topics a su estado deseado, como un estado Failed
  • enviar notificaciones por correo electrónico a los usuarios
  • actualizar ramas de repositorio con etiquetas que indican qué commit corresponde a qué entorno.

El paso POST siempre se ejecutará. Esto incluye lo siguiente:

  • Después de que falla un paso PRE
  • Después de que falla un paso RUN
  • Después de que un paso RUN sea exitoso