Este documento é uma visão geral da automação de implantação.
É possível configurar o Cloud Deploy para executar automaticamente tarefas relacionadas a lançamento e a lançamentos para um determinado pipeline de entrega. Essas tarefas incluem promoção de versão e avanço de fase.
Saiba mais sobre os recursos usados para automação de versões no Cloud Deploy.
Saiba mais sobre como configurar as regras que definem como essas automações funcionam.
Ações que você pode automatizar
No Cloud Deploy, é possível automatizar as seguintes atividades de lançamento e lançamento:
Promover uma versão
É possível configurar o Cloud Deploy para promover sua versão automaticamente, após um lançamento bem-sucedido para um destino. Por exemplo, se você tiver três destinos,
dev
,staging
eprod
, poderá configurar uma automação para que a versão seja promovida paraprod
, sem mais interações humanas, após uma implantação bem-sucedida nostaging
.Avançar um lançamento
É possível configurar o Cloud Deploy para avançar um lançamento de uma fase para a próxima, após um lançamento bem-sucedido para o destino anterior. O avanço de fases está disponível apenas em destinos que usam uma estratégia de implantação canário.
Como a automação funciona?
Cada automação está vinculada ao pipeline de entrega em que é usada. Não é possível compartilhar uma automação em vários pipelines de entrega.
Veja a seguir o processo geral de configuração e execução de uma automação:
-
Essa automação está associada a um pipeline de entrega.
Você registra essa automação usando
gcloud deploy apply
.Isso cria o recurso de automação.
Invoque o pipeline de entrega associado a essa automação criando uma versão.
O lançamento foi bem-sucedido em pelo menos um destino.
No destino para o qual a automação está configurada...
Se a automação estiver
promoteReleaseRule
:A execução aguarda o sucesso do lançamento no destino de origem. O destino de origem é o
selector.targets
configurado para a automação, não noAutomationRule
.Se houver um tempo
wait
configurado, a execução vai aguardar esse tempo também.A versão é promovida automaticamente para o próximo destino na progressão do pipeline ou para um destino específico, se indicado.
Se a automação for
advanceRolloutRule
e o destino usar uma estratégia de implantação canário:A execução aguarda a fase de origem identificada, se houver.
A propriedade
sourcePhase
é opcional e, se nenhuma fase de origem for especificada, cada fase no lançamento será avançada automaticamente. O avanço automático da fase acontece quando a fase de origem éIN_PROGRESS
, sujeito ao tempowait
.Se houver um tempo
wait
configurado, a execução vai aguardar esse tempo também.Ao automatizar uma implantação canário, use esse tempo de espera para especificar a duração de cada fase canário.
O lançamento é avançado automaticamente dessa fase de origem para a próxima fase no lançamento.
Se houver outra fase de origem, ela será tratada da mesma forma, incluindo o mesmo tempo de espera, se aplicável.
Recursos de Automation
Há dois recursos do Cloud Deploy que são especificamente para automação:
Automação
Um
Automation
é um recurso filho de um pipeline de entrega e inclui as seguintes informações:- Um indicador para os destinos em que a automação é usada
- Regra ou regras que regem o que a automação faz e como ela faz
A configuração do recurso de Automation é descrita no documento Sobre o recurso de automação.
Quando você executa
gcloud deploy apply
em um arquivo que inclui uma configuração de automação (kind: Automation
), o Cloud Deploy cria um recurso de automação, que associa um pipeline de entrega e um ou mais destinos a uma ou mais regras de automação.Execução da automação
O
AutomationRun
é uma instância de uma automação. É um indicador para o recurso de Automation correspondente, além de informações sobre o lançamento que gerou o recurso e outros metadados.A execução da automação é criada quando uma automação é acionada.
Saiba mais sobre os recursos de automação.
Regras Automation
Uma regra de automação define uma ação que pode ser realizada no pipeline de entrega automaticamente, bem como detalhes sobre como a automação deve ser realizada.
Saiba mais sobre as regras de automação.
Permissões e papéis do Identity and Access Management necessários
Além das permissões necessárias para executar qualquer pipeline de entrega
do Cloud Deploy e para executar as tarefas a serem automatizadas (como avançar
um lançamento), há várias permissões que são necessárias para executar
determinadas operações nos recursos Automation
e AutomationRun
:
clouddeploy.automations.create
clouddeploy.automations.delete
clouddeploy.automations.get
clouddeploy.automations.list
clouddeploy.automations.update
clouddeploy.automationRuns.cancel
clouddeploy.automationRuns.get
clouddeploy.automationRuns.list
Consulte Papéis e permissões do IAM. Para mais informações, incluindo quais papéis do Cloud Deploy incluem essas permissões.
Criar uma automação
É possível criar uma automação, incluindo o uso de qualquer uma das
regras de automação disponíveis,
configurando uma automação e, em seguida, criando o recurso de automação usando
gcloud deploy apply
Consulte a seção a seguir (Como configurar a automação) e Como configurar regras de automação.
Configurar a automação
Consulte o
esquema do arquivo de configuração
para mais detalhes sobre como configurar o
recurso Automation
.
Configuração da regra Automation
Além dessa configuração de automação, você especifica as regras de automação. A configuração é diferente para cada uma das regras disponíveis.
Consulte Como usar regras de automação para descrições de cada uma das regras disponíveis.
Suspender uma automação
É possível suspender um recurso existente sem excluí-lo. Isso pode ser útil para testar uma automação sem afetar o pipeline de entrega. Ao suspender uma automação, ela não é executada, mas os registros da plataforma ainda são gerados.
Na configuração do
Automation
, atualize a propriedadesuspended
paratrue
.Execute
gcloud deploy apply
nesse arquivo de configuração.Os registros de plataforma ainda são gerados quando a automação é instanciada, mesmo que esteja suspensa. Use isso para testar e depurar a automação sem afetar o pipeline de entrega.
A seguir
Teste o guia de início rápido: automatizar a criação de versões e o avanço do lançamento.
Saiba mais sobre as regras de automação do Cloud Deploy.
Saiba mais sobre os recursos de automação do Cloud Deploy.
Consulte a documentação do esquema do arquivo de configuração para mais detalhes sobre os arquivos de configuração de automação.