Implantar um fluxo de trabalho de um repositório Git usando o Cloud Build

É possível usar um gatilho do Cloud Build para iniciar automaticamente um build e implantar um fluxo de trabalho de um repositório Git. É possível configurar o gatilho para implantar seu fluxo de trabalho em qualquer mudança no repositório de origem ou somente quando a mudança atender a critérios específicos.

Essa abordagem pode ajudar você a gerenciar o ciclo de vida da implantação. Por exemplo, você pode implantar mudanças em um fluxo de trabalho em um ambiente de preparação, executar testes nesse ambiente e, em seguida, implantar essas mudanças de forma incremental no ambiente de produção.

Antes de começar

Estas instruções pressupõem que você tenha o papel de editor do Cloud Build (roles/cloudbuild.builds.editor) no projeto Google Cloud para que você possa criar gatilhos. Você também precisa de um fluxo de trabalho em um repositório de origem, como GitHub ou Bitbucket.

Console

  1. Ative as APIs Cloud Build e Workflows.

    Ativar as APIs

  2. Conceda o papel de administrador do Workflows (roles/workflows.admin) à conta de serviço do Cloud Build:

    1. No console do Google Cloud , acesse a página IAM.

      Acessar IAM

    2. Selecione o projeto.

    3. Na linha da conta de serviço do Cloud Build (PROJECT_NUMBER@cloudbuild.gserviceaccount.com), clique em Editar principal.

    4. Clique em Adicionar outro papel.

    5. Na lista Papel, selecione o papel Administrador do Workflows.

    6. Clique em Salvar.

  3. Conceda o papel de usuário da conta de serviço (roles/iam.serviceAccountUser) na conta de serviço padrão do Compute Engine à conta de serviço do Cloud Build. Quando você ativa a API Compute Engine, a conta de serviço padrão do Compute Engine é PROJECT_NUMBER-compute@developer.gserviceaccount.com.

    1. No console do Google Cloud , acesse a página Contas de serviço.

      Acessar a página "Contas de serviço"

    2. Selecione o projeto.

    3. Clique no endereço de e-mail da conta de serviço padrão do Compute Engine (PROJECT_NUMBER-compute@developer.gserviceaccount.com).

    4. Clique na guia Permissões.

    5. Clique no botão Permitir acesso.

    6. Para adicionar um novo principal, insira o endereço de e-mail da sua conta de serviço (SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com).

    7. Na lista Selecionar um papel, escolha o papel Contas de serviço > Usuário da conta de serviço.

    8. Clique em Salvar.

gcloud

  1. Ative as APIs Cloud Build e Workflows.

    gcloud services enable cloudbuild.googleapis.com \
      workflows.googleapis.com
    
  2. Conceda o papel de administrador do Workflows (roles/workflows.admin) à conta de serviço do Cloud Build:

    PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format='value(projectNumber)')
    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
      --role=roles/workflows.admin
    

    Substitua PROJECT_ID pelo ID do seu projeto do Google Cloud.

  3. Conceda o papel de usuário da conta de serviço (roles/iam.serviceAccountUser) na conta de serviço padrão do Compute Engine à conta de serviço do Cloud Build. Quando você ativa a API Compute Engine, a conta de serviço padrão do Compute Engine é PROJECT_NUMBER-compute@developer.gserviceaccount.com.

    gcloud iam service-accounts add-iam-policy-binding