Criar pipelines e entregas de entrega

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

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 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 está 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 GKE, GKE Enterprise ou Cloud Run. Em um pipeline de entrega, todos os destinos precisam referenciar o mesmo tipo de ambiente de execução (todo o GKE ou todo o GKE Enterprise, por exemplo).

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

É possível usar o console do Google Cloud para criar um novo pipeline de entrega e destinos ou destinos. 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, faça o seguinte:

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

  2. Forneça 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á fazendo a implantação.

  5. Em Novo destino, insira um nome ou mantenha o valor padrão.

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

  7. Se você quiser usar uma estratégia de implantação 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 você tiver todos os destinos, 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 precisa fazer isso.

Para registrar seu pipeline de entrega com o 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 sinalização --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 a que o pipeline faz referência.

Criar o pipeline de entrega e os destinos usando o Terraform

Também é possível usar o provedor do Google Cloud Terraform para criar recursos de pipeline de entrega e 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 atuais

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