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 la canalización de entrega para que el ascenso a un destino específico se realice de forma automática 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. En esta sección, se describe la configuración que tienen todas las reglas en común, además de 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 la implementación para ver la configuración de 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 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 ascienda automáticamente al segundo.
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 del destino previsto mediante 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 una vez que la versión está lista para la promoción antes de promocionarla. Por ejemplo,
1m
.m
es obligatorio.El valor predeterminado es
0
o sin tiempo de espera. El máximo es20160m
(o 14 días).[TO_TARGET]
Es el
targetId
del destino al que se realizará la promoción.También puede ser
@next
, que promueve la versión automáticamente al siguiente destino después del objetivo especificado en la propiedadselector.targets
en esta configuración de automatización. Este es el valor predeterminado si omites el valor dedestinationTargetId
.[TO_PHASE]
Es el nombre de la fase de la fase a la que deseas promover, por ejemplo,
canary-25
ostable
. 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
avanza el lanzamiento, automáticamente, después de que se completa con éxito una fase, a la fase siguiente. 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
una vez que finalice la fase 50%
.
Cuando configuras una automatización de advanceRolloutRule
, identificas la fase en la que se debe avanzar desde (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 de la canalización de entrega.
[WAIT_TIME]
Es la cantidad de tiempo, en minutos, que se debe esperar para hacer 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 es20160m
(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 cualquiera de las fases enumeradas finaliza con éxito, el lanzamiento avanza automáticamente de esa fase a la siguiente.
Los nombres de fase distinguen mayúsculas de minúsculas. Además, los nombres de las fases son opcionales; si omites
sourcePhases
, todas las fases del lanzamiento avanzan de forma automática.
¿Qué sigue?
Prueba la guía de inicio rápido: Automatiza la creación de versiones y el avance del lanzamiento.
Obtén más información sobre la automatización de implementaciones en Cloud Deploy.