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 a um destino específico aconteça automaticamente nas circunstâncias certas.
Só é possível usar regras de automação integradas ao Cloud Deploy. As regras de automação disponíveis estã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 |
---|---|
promoteRelease
|
Promove automaticamente uma versão no destino indicado após a conclusão
no destino anterior da progressão. |
advanceRollout
|
Avança automaticamente um lançamento da opção
da fase para a próxima. |
Como configurar regras de automação
A configuração de cada regra de automação depende da regra específica. Nesta seção, descrevemos a configuração que todas as regras têm em comum e como definir 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 configurar a automação.
Como configurar uma regra de automação promoteRelease
A regra promoteRelease
promove a versão após um lançamento bem-sucedido em
um destino. Por exemplo, se você tiver três destinos, será possível configurar 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 promoteRelease
, é possível especificar um destino para ser promovido (destinationTargetId
) ou @next
. Quando o lançamento
for concluído no destino especificado na definição de Automation
, a
versão vai ser promovida para o destino especificado em destinationTargetId
,
sujeito 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:
- promoteRelease:
name: "[RULE_NAME]"
wait: [WAIT_TIME]
destinationTargetId: "[TO_TARGET]"
destinationPhase: "[TO_PHASE]"
Em que:
[RULE_NAME]
É o nome que você quer dar à regra. Esse nome precisa ser exclusivo no recurso de automação.
[WAIT_TIME]
É a quantidade de tempo, em minutos, de espera depois que o lançamento fica pronto para promoção antes de ser promovido. Por exemplo,
1m
. Om
é obrigatório.O valor padrão é
0
ou 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 destino especificado na propriedadeselector.target
nesta configuração de automação. Esse será o padrão se você omitir o valor dedestinationTargetId
.[TO_PHASE]
É o nome da fase que você quer promover, por exemplo,
canary-25
oustable
. Essa propriedade é opcional. Se for omitida, a versão será promovida para a primeira fase no destino.
Como configurar uma regra de automação advanceRollout
A regra advanceRollout
avança o lançamento automaticamente para a próxima fase após a conclusão bem-sucedida de uma fase. 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 fases de 25%
, 50%
e stable
, será possível configurar uma regra de automação que avance a fase automaticamente para stable
após o término da fase 50%
.
Ao configurar uma automação advanceRollout
, você identifica a fase para avançar a partir (o sourcePhase
).
rules:
- advanceRollout:
name: "[RULE]"
sourcePhases: ["[START_PHASE]", "[START_PHASE]"...]
wait: [WAIT_TIME]
Em que:
[RULE]
É o nome que você quer dar à 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 nenhum tempo de espera. O máximo é20160m
(ou 14 dias).["[START_PHASE]", "[START_PHASE]"...]
São as fases a partir da qual o lançamento é avançado automaticamente. Ou seja, quando qualquer uma das fases listadas termina com sucesso, o lançamento é automaticamente avançado dessa fase para a próxima.
Os nomes das fases diferenciam maiúsculas de minúsculas. Além disso, esses nomes de 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.