Neste documento, descrevemos as regras de automação, que são ações que podem ser realizadas automaticamente no pipeline de entrega. Por exemplo, é possível configurar o pipeline de entrega para que a promoção para um destino específico aconteça automaticamente nas circunstâncias certas.
Você só pode usar regras de automação integradas ao Cloud Deploy. As regras de automação disponíveis são listadas neste documento.
Regras de automação disponíveis
As seguintes regras de automação estão disponíveis no Cloud Deploy:
Regra | Descrição |
---|---|
promoteReleaseRule
|
Promove automaticamente uma versão no destino indicado após a conclusão
lançamento no destino anterior na progressão. |
advanceRolloutRule
|
Avanço automaticamente um lançamento do
fase para a próxima. |
Configurar regras de automação
A configuração de cada regra de automação depende da regra específica. Esta seção descreve a configuração que todas as regras têm em comum e como configurar cada uma das regras disponíveis.
As seções a seguir descrevem a configuração específica para regras de automação individuais. Consulte Automatizar a implantação para ver a configuração da automação em si.
Configurar uma regra de automação promoteReleaseRule
A regra promoteReleaseRule
promove sua versão após um lançamento bem-sucedido em
um destino. Por exemplo, se você tiver três destinos, configure essa regra para
que, quando a versão for implantada com sucesso no primeiro destino, ela seja
promovida automaticamente para o segundo destino.
Ao configurar uma automação de promoteReleaseRule
, é possível especificar um
destino a ser promovido para (destinationTargetId
) ou @next
. Quando o lançamento
é concluído no destino especificado na definição de Automation
, a
versão é promovida para o destino especificado em destinationTargetId
,
sujeita a um intervalo de tempo wait
.
Também é possível promover uma versão para uma fase específica no destino pretendido usando
a propriedade destinationPhase
.
rules:
- promoteReleaseRule:
name: "[RULE_NAME]"
wait: [WAIT_TIME]
destinationTargetId: "[TO_TARGET]"
destinationPhase: "[TO_PHASE]"
Em que:
[RULE_NAME]
É qualquer nome que você queira dar a esta regra. Esse nome precisa ser exclusivo no recurso de automação.
[WAIT_TIME]
É o tempo, em minutos, de espera depois que o lançamento estiver pronto para promoção antes de ser promovido. Por exemplo,
1m
Om
é obrigatório.O valor padrão é
0
, ou seja, nenhum tempo de espera. O máximo é20160m
(ou 14 dias).[TO_TARGET]
É o
targetId
do destino a ser promovido.Também pode ser
@next
, que promove a versão automaticamente para o próximo destino após o especificado na propriedadeselector.targets
nessa configuração de automação. Esse será o padrão se você omitir o valor dedestinationTargetId
.[TO_PHASE]
É o nome da fase da fase em que você quer promover, por exemplo,
canary-25
oustable
. Essa propriedade é opcional. Se você omiti-la, a versão será promovida para a primeira fase no destino.
Configurar uma regra de automação advanceRolloutRule
O advanceRolloutRule
avança o lançamento automaticamente após a conclusão
de uma fase para a próxima. Essa regra de automação é útil para implantações canário. Por exemplo, se você tiver uma estratégia de implantação canário
configurada em um destino, com as fases 25%
, 50%
e stable
, poderá
configurar uma regra de automação que avança a fase automaticamente para stable
após a conclusão da fase 50%
.
Ao configurar uma automação de advanceRolloutRule
, você identifica a fase para
avançar da saída (sourcePhase
).
rules:
- advanceRolloutRule:
id: "[RULE]"
sourcePhases: ["[START_PHASE]", "[START_PHASE]"...]
wait: [WAIT_TIME]
Em que:
[RULE]
É qualquer nome que você queira dar a esta regra. Esse nome precisa ser exclusivo no pipeline de entrega.
[WAIT_TIME]
É o tempo, em minutos, de espera para avançar o lançamento depois que ele estiver pronto. Por exemplo,
1m
Om
é obrigatório.O valor padrão é
0
, ou seja, nenhum tempo de espera. O máximo é20160m
(ou 14 dias).["[START_PHASE]", "[START_PHASE]"...]
São as fases em que o lançamento é avançado automaticamente. Ou seja, quando qualquer uma das fases listadas for concluída com sucesso, o lançamento será avançado automaticamente dessa fase para a próxima.
Os nomes das fases diferenciam maiúsculas de minúsculas. Além disso, os nomes dessas fases são opcionais. Se você omitir
sourcePhases
, todas as fases no lançamento serão avançadas automaticamente.
A seguir
Confira o guia de início rápido: automatizar a criação de versões e o avanço do lançamento.
Saiba mais sobre a automação de implantação no Cloud Deploy.