Promover sua versão e gerenciar aprovações

Nesta página, descrevemos como promover uma versão atual do Cloud Deploy para a próximo destino em uma progressão do pipeline de entrega.

Antes de começar

Nesta página, consideramos que você já criou uma versão.

Promover a versão

Quando a versão é implantada em um destino definido no pipeline de entrega, você pode promovê-la para o próximo destino:

gcloud

gcloud deploy releases promote --release=RELEASE_NAME \
                               --delivery-pipeline=PIPELINE_NAME \
                               --region=REGION

Em que:

RELEASE_NAME é o nome da versão promovida.

PIPELINE_NAME é o nome do pipeline de entrega que você está usando para gerenciar a implantação dessa versão.

REGION é o nome da região em que a versão foi criada, por exemplo, us-central1. Obrigatório.

Consulte a referência do SDK Google Cloud para mais informações sobre o comando gcloud deploy releases promote.

Console

  1. Abra a página "Pipelines de entrega".

  2. Clique no pipeline mostrado na lista de pipelines de entrega.

    A página "Detalhes do pipeline de entrega" mostra uma representação gráfica do progresso do pipeline de entrega.

    visualização do pipeline de entrega no console do Google Cloud

  3. No primeiro destino na visualização do pipeline de exibição, clique em Promover.

    A caixa de diálogo Promover versão é exibida. Ele mostra os detalhes do destino para o qual você está promovendo.

  4. Clique em Promover.

Se o pipeline de entrega ou o destino tiverem mudado desde a criação da versão, O Cloud Deploy retorna uma mensagem indicando uma possível mismatch, e prompts para confirmar a promoção. É possível responder n ao prompt e examinar as diferenças entre as versões do pipeline antes de continuar. Se você optar por promovê-la mesmo assim, a versão será implantada de acordo com o pipeline de entrega do mesmo modo em que foi definida. Consulte Instâncias de pipeline por versão para mais informações sobre incompatibilidades de pipeline.

O Cloud Deploy cria um rollout para a versão no destino de destino, e a versão é enfileirada para implantação. Quando ele é implantado, a visualização do pipeline de entrega mostra esse fato:

visualização do pipeline de entrega no console do Google Cloud

Gerenciar aprovações para um pipeline de entrega

Você pode exigir a aprovação de qualquer destino, além de aprovar ou rejeitar versões nele.

As aprovações podem ser gerenciadas de maneira programática com a integração do fluxo de trabalho (como o ServiceNow) ou outro sistema, com Cloud Deploy usando o Pub/Sub e o Cloud Deploy API.

Exigir aprovação

Para exigir aprovação em qualquer destino, defina requireApproval como true na configuração do destino:

     apiVersion: deploy.cloud.google.com/v1
     kind: Target
     metadata:
      name:
     description:
     requireApproval: true

Consulte Configuração do pipeline de entrega para mais detalhes.

Quando um lançamento está pendente de aprovação, os usuários ou sistemas que assinam o tópico clouddeploy-approvals do Pub/Sub recebem uma notificação e podem aprovar ou rejeitar o lançamento.

Ao usar a implantação paralela, é possível configurar o multidestino para exigir aprovação. Se a promoção para o destino for rejeitada, o lançamento do controlador vai falhar, com uma estado de APPROVAL_REJECTED, e os lançamentos filhos não serão criados.

Aprovar ou rejeitar um lançamento

Cada destino pode solicitar aprovação antes que qualquer versão seja implantada. Quando você promove para um destino que exige aprovação, o Cloud Deploy publica uma mensagem do Pub/Sub no tópico clouddeploy-approvals.

Qualquer usuário ou conta de serviço com o papel roles/clouddeploy.approver pode aprovar um lançamento do Cloud Deploy para um destino que exija aprovação.

Seu sistema de gerenciamento de fluxo de trabalho integrado, que recebeu uma notificação necessária para aprovação usando as notificações de serviço, pode aprovar ou rejeitar o lançamento usando a API Cloud Deploy.

Aprovar ou rejeitar manualmente

Console

  1. No console do Google Cloud, navegue até a página Pipelines de entrega do Cloud Deploy para conferir a lista dos seus pipelines de entrega disponíveis.

    Abrir a página "Pipelines de entrega"

    A lista de pipelines de entrega é mostrada no console do Google Cloud. Os pipelines de entrega que foram configurados, mas não registrados com o serviço do Cloud Deploy não são mostrados.

  2. Clique no nome do pipeline de entrega.

    A visualização do pipeline é mostrada. Se a aprovação estiver pendente e você tiver o papel roles/clouddeploy.approver ou permissões equivalentes, a visualização incluirá um link Revisar.

    Visualização do pipeline de entrega com aprovação pendente

  3. Clique em Revisar.

    Uma lista é exibida com os lançamentos pendentes de aprovação.

    Lançamentos desse
pipeline com aprovação pendente

  4. Clique em Revisar.

    A tela "Aprovar lançamento" é exibida.

    Detalhes do lançamento com aprovação pendente

    A guia Diferenças do manifesto mostra as mudanças no manifesto renderizado do a versão atualmente implantada (se houver) para a que você está aprovando (ou rejeitando).

  5. Clique em Aprovar ou Rejeitar.

    Se você aprovar, o aplicativo será implantado no destino. Se você rejeitar, o aplicativo não será implantado e não poderá ser aprovado mais tarde, a menos que seja promovido novamente.

gcloud

Um usuário com o papel roles/clouddeploy.approver pode aprovar ou rejeitar manualmente um lançamento. Para aprovar:

gcloud deploy rollouts approve rollout-name --delivery-pipeline=pipeline-name \
                                                                   --region=region \
                                                                   --release=release-name

Para rejeitar:

gcloud deploy rollouts reject rollout-name --delivery-pipeline=pipeline-name \
                                                                  --region=region \
                                                                  --release=release-name