En este documento, se describen las reglas de automatización, que son acciones que se pueden realizar en tu canalización de publicación automáticamente. 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 integradas en Cloud Deploy. Las reglas de automatización disponibles se indican 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 al destino indicado después de que se realiza correctamente
lanzamiento en el destino anterior de la progresión. |
advanceRolloutRule
|
Adelantar automáticamente un lanzamiento desde el valor indicado
fase a la fase siguiente. |
Cómo configurar 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 la implementación. para configurar la automatización.
Cómo configurar 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 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 al que promocionar (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 una 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 es20160m
(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 al siguiente objetivo después del objetivo especificado en la propiedadselector.targets
en esta configuración de automatización. Esta es la opción predeterminada si omite el valor dedestinationTargetId
.[TO_PHASE]
Es el nombre de la fase a la que deseas promocionar, 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
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 canario
configurada en un objetivo, con fases de 25%
, 50%
y stable
, podrías
configurar una regla de automatización que avance la fase automáticamente a stable
después de que finalice la fase 50%
.
Cuando configuras una automatización de advanceRolloutRule
, identificas la fase desde la que avanzar (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 de la canalización de publicación.
[WAIT_TIME]
Es la cantidad de tiempo, en minutos, que se debe esperar para avanzar en el lanzamiento después de 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]"...]
Es la fase o las fases desde las que se avanza automáticamente el lanzamiento. 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 las fases distinguen mayúsculas de minúsculas. Además, estos nombres de fase son opcionales. Si omites
sourcePhases
, todas las fases del lanzamiento avanzarán automáticamente.
¿Qué sigue?
Prueba la guía de inicio rápido: Automatiza la creación de lanzamientos y el avance del lanzamiento.
Obtén más información sobre la automatización de la implementación en Cloud Deploy.