Uso de reglas de automatización

En este documento, se describen las reglas de automatización, que son acciones que se pueden realizar automáticamente en tu canalización de entrega. Por ejemplo, puedes configurar tu canalización de entrega para que la promoción a un destino específico se realice de forma automática, en las circunstancias adecuadas.

Solo puedes usar reglas de automatización integradas en Cloud Deploy. Las reglas de automatización disponibles se enumeran en este documento.

Reglas de automatización disponibles

Las siguientes reglas de automatización están disponibles en Cloud Deploy:

Regla Descripción
promoteReleaseRule Promueve automáticamente un lanzamiento en el destino indicado después de que se complete con éxito

lanzamiento en el objetivo anterior en el progreso.

advanceRolloutRule Avanza automáticamente un lanzamiento desde

fase a la siguiente.

Configura reglas de automatización

La configuración de cada regla de automatización depende de la regla específica. En esta sección, se describe la configuración que todas las reglas tienen en común, así como cómo configurar cada una de las reglas disponibles.

En las siguientes secciones, se describe la configuración específica de las reglas de automatización individuales. Consulta Automatiza tu implementación para configurar la automatización.

Configura una regla de automatización promoteReleaseRule

La regla promoteReleaseRule promueve la versión después de un lanzamiento exitoso en un destino. Por ejemplo, si tienes tres destinos, puedes configurar esta regla para que, cuando la versión se implemente de forma correcta en el primer destino, se promueva de forma automática al segundo destino.

Cuando configuras una automatización de promoteReleaseRule, puedes especificar un destino para ascender a (destinationTargetId) o @next. Cuando el lanzamiento finaliza correctamente en el destino especificado en la definición de Automation, la versión se promueve al destino especificado en destinationTargetId, sujeto a un intervalo de tiempo wait.

También puedes promover una versión a una fase específica en el destino previsto con la propiedad destinationPhase.

rules:
- promoteReleaseRule:
    name: "[RULE_NAME]"
    wait: [WAIT_TIME]
    destinationTargetId: "[TO_TARGET]"
    destinationPhase: "[TO_PHASE]"

Aquí:

  • [RULE_NAME]

    Es el nombre que deseas asignar a esta regla. Este nombre debe ser único dentro del recurso de automatización.

  • [WAIT_TIME]

    Es la cantidad de tiempo, en minutos, que se debe esperar una vez que el lanzamiento esté listo para la promoción antes de promocionarse. Por ejemplo, 1m. m es obligatorio.

    El valor predeterminado es 0 o sin tiempo de espera. El máximo es 20160m (o 14 días).

  • [TO_TARGET]

    Es el targetId del destino al que se debe ascender.

    También puede ser @next, que promueve el lanzamiento automáticamente al siguiente destino después del destino especificado en la propiedad selector.targets en esta configuración de automatización. Este es el valor predeterminado si omites el valor de destinationTargetId.

  • [TO_PHASE]

    Es el nombre de la fase a la que deseas ascender, por ejemplo, canary-25 o stable. Esta propiedad es opcional; si la omites, la versión se promueve a la primera fase del destino.

Configura una regla de automatización advanceRolloutRule

El advanceRolloutRule hace que tu lanzamiento avance, de forma automática, después de completar correctamente una fase, a la siguiente fase. Esta regla de automatización es útil para las implementaciones de versiones canary. Por ejemplo, si tienes una estrategia de implementación de versiones canary configurada en un destino, con fases de 25%, 50% y stable, puedes configurar una regla de automatización que avance la fase de forma automática a stable después de que finalice la fase 50%.

Cuando configuras una automatización advanceRolloutRule, identificas la fase que se debe avanzar desde (sourcePhase).

rules:
- advanceRolloutRule:
    id: "[RULE]"
    sourcePhases: ["[START_PHASE]", "[START_PHASE]"...]
    wait: [WAIT_TIME]

Aquí:

  • [RULE]

    Es el nombre que deseas asignar a esta regla. Este nombre debe ser único dentro de la canalización de entrega.

  • [WAIT_TIME]

    Es la cantidad de tiempo, en minutos, que se debe esperar para avanzar el lanzamiento una vez que este esté listo. Por ejemplo, 1m. m es obligatorio.

    El valor predeterminado es 0 o sin tiempo de espera. El máximo es 20160m (o 14 días).

  • ["[START_PHASE]", "[START_PHASE]"...]

    Son las fases desde las que se avanza automáticamente el lanzamiento. Es decir, cuando cualquiera de las fases enumeradas finaliza correctamente, el lanzamiento se avanza automáticamente de esa fase a la siguiente.

    Los nombres de fases distinguen mayúsculas de minúsculas. Además, estos nombres de fase son opcionales; si omites sourcePhases, todas las fases en el lanzamiento avanzan automáticamente.

¿Qué sigue?