Criar pipelines e entregas de entrega

Esta página descreve como criar o pipeline de entrega e os destinos que descrevem onde e como o Cloud Deploy vai implantar seu aplicativo. Consulte o Esquema do arquivo de configuração para uma descrição da estrutura de arquivos YAML para pipelines de entrega e destinos.

Sobre o pipeline de entrega e os destinos

O pipeline de entrega descreve uma progressão dos destinos de implantação. É possível definir essas metas no mesmo arquivo que o pipeline de entrega ou em um ou mais arquivos separados.

Depois de criar o pipeline de entrega e o arquivo ou os arquivos de definição de destino, execute gcloud deploy apply em cada um desses arquivos para registrá-los como recursos do Cloud Deploy.

Definir o pipeline de entrega e os destinos

A estrutura do pipeline de entrega e dos arquivos de configuração de destino é descrita aqui.

Você pode chamar esse arquivo como quiser. Por convenção, um config de pipeline de entrega que inclui definições de destino é chamado clouddeploy.yaml e um que, em vez disso, faz referência a destinos definidos em um ou mais arquivos separados são chamados de delivery-pipeline.yaml.

O destino pode apontar para o GKE, o GKE Enterprise ou o Cloud Run. Em um pipeline de entrega, todas as metas precisam referenciar o mesmo tipo de ambiente de execução (por exemplo, todos GKE ou todos GKE Enterprise).

Criar um pipeline de entrega e destinos usando o console do Google Cloud

Use o console do Google Cloud para criar um novo pipeline de entrega e alvos. Isso é útil para testar o Cloud Deploy, mas não é adequado para cargas de trabalho de produção. Também é possível usar o console do Google Cloud para criar uma versão.

Para criar o pipeline de entrega:

  1. Na página Pipelines de entrega, clique em Criar.

  2. Informe um nome (ou mantenha o padrão) e, se quiser, uma descrição.

  3. Selecione sua região.

  4. Escolha o ambiente de execução.

    Para o GKE, escolha Google Kubernetes Engine ou selecione Cloud Run se esse for o ambiente de execução em que você está implantando.

  5. Em Novo destino, forneça um nome ou mantenha o padrão.

  6. Se você quiser exigir aprovação nesse destino, marque a caixa de seleção Exigir aprovação para lançamentos.

  7. Se você for usar uma estratégia de implantação de canário nesse destino, marque a caixa de seleção Ativar canário.

  8. Clique em Concluído.

  9. Clique em Adicionar destino e siga estas etapas para cada destino que você quiser criar.

  10. Quando tiver todas as metas, clique em Criar para criar o pipeline de entrega e os recursos de destino.

Registrar o pipeline de entrega e os destinos

Se você criou o pipeline e os destinos usando o console do Google Cloud, não é necessário fazer isso.

Para registrar seu pipeline de entrega no Cloud Deploy, execute gcloud deploy apply uma vez para cada arquivo de definição separado. Ou seja, se você definir três destinos em três arquivos, execute o comando quatro vezes: uma para o pipeline de entrega e outra para o destino.

O comando a seguir registra um pipeline de entrega com os destinos definidos no mesmo arquivo.

gcloud deploy apply --file=PIPELINE_CONFIG \
                    --region=LOCATION \
                    --project=PROJECT

Agora você tem um pipeline de entrega que pode gerenciar a implantação das versões e segmentar recursos que podem ser usados por qualquer pipeline de entrega no mesmo projeto e região.

Um exemplo de arquivo único

O comando neste exemplo registra um pipeline de entrega e todos os destinos definidos no mesmo arquivo:

gcloud deploy apply --file=clouddeploy.yaml --region=us-central1

Um exemplo usando arquivos separados

Neste exemplo, existem três destinos definidos em três arquivos separados. Portanto, execute quatro comandos:

gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1

A flag --region é obrigatória, a menos que você tenha definido um padrão (usando gcloud config set deploy/region [REGION]). A região precisa ser a mesma para o pipeline de entrega e todos os destinos referenciados por ele.

Criar o pipeline de entrega e os destinos usando o Terraform

Também é possível usar o provedor Terraform do Google Cloud para criar recursos de pipeline de entrega e de destino.

O provedor do Terraform Beta do Google Cloud pode incluir suporte para recursos do Cloud Deploy em pré-lançamento.

Editar pipelines e destinos

Posteriormente, será possível editar qualquer pipeline de entrega ou configuração de destino e executar gcloud deploy apply para atualizar o pipeline ou o recurso de destino. Mas essas alterações não afetam as versões atuais, já que são gerenciadas pelo pipeline de entrega original.

Exigir aprovação manual para uma implantação

Para exigir aprovação manual de um determinado destino, inclua a seguinte propriedade na definição de destino:

requireApproval: true

O padrão é false. Se você omitir essa propriedade da configuração do pipeline de entrega ou não fornecer valor para ela, a implantação nesse destino não exigirá aprovação. No entanto, o autor da chamada que está tentando promover para o destino ainda precisa da permissão clouddeploy.rollouts.create do IAM.

Você pode até mesmo exigir a aprovação manual no primeiro destino. Quando uma versão é criada, usando a CLI, para o primeiro destino, o rollout é criado automaticamente. Se a aprovação for necessária, o Cloud Deploy criará o rollout, mas em um estado de lançamento pendente até que a aprovação seja concedida.

A seguir