Usar 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 se lleve a cabo la promoción en un objetivo específico automáticamente, en las circunstancias adecuadas.

Solo puedes usar las reglas de automatización que está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 una versión en el destino indicado una vez exitosa

lanzamiento en el objetivo anterior en el progreso.

advanceRolloutRule Adelantar automáticamente un lanzamiento desde el valor indicado

fase a la fase siguiente.

Configura reglas de automatización

La configuración de cada regla de automatización depende de la regla específica. Esta describe la configuración que tienen todas las reglas en común, así como para configurar cada una de las reglas disponibles.

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

Configura una regla de automatización de promoteReleaseRule

La regla promoteReleaseRule promueve tu versión después de un lanzamiento exitoso en un objetivo. Por ejemplo, si tiene tres objetivos, puede configurar esta regla para que, cuando la versión se implemente correctamente en el primer destino, se asciende automáticamente al segundo objetivo.

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

También puedes promover un lanzamiento a una fase específica en el destino previsto usando la propiedad destinationPhase

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

Aquí:

  • [RULE_NAME]

    Es cualquier nombre que quieras asignarle 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 luego de que la versión esté lista promoción antes de que se promocione. 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 objetivo al que se desea ascender.

    También puede ser @next, que promueve la versión automáticamente a la siguiente objetivo después del objetivo especificado en la propiedad selector.targets en este la configuración de automatización. Esta es la opción predeterminada si omite el valor de destinationTargetId.

  • [TO_PHASE]

    Es el nombre de la fase de la fase a la que quieres promover, por ejemplo, canary-25 o stable. Esta propiedad es opcional. si la omites, la versión se asciende a la primera fase del objetivo.

Configura una regla de automatización advanceRolloutRule

La advanceRolloutRule avanza el lanzamiento automáticamente después de que se realiza correctamente la finalización de una fase a la fase siguiente. Esta regla de automatización es útil implementaciones de versiones canary. Por ejemplo, si tienes una estrategia de implementación de versiones canary configurado en un destino, con fases de 25%, 50% y stable, podrías configura una regla de automatización que avance automáticamente la fase a stable después de que finalice la fase 50%.

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

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

Aquí:

  • [RULE]

    Es cualquier nombre que quieras asignarle a esta regla. Este nombre debe ser único dentro del canalización de entrega continua.

  • [WAIT_TIME]

    Es la cantidad de tiempo, en minutos, que se debe esperar para avanzar la implementación después de la el lanzamiento 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]"...]

    Indica la fase o fases a partir de las cuales el lanzamiento avanza automáticamente. Es decir, cuando alguna de las fases de la lista finaliza correctamente, el lanzamiento se y avanzar automáticamente de esa fase a la siguiente.

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

¿Qué sigue?