Implantar um aplicativo conteinerizado no Cloud Run usando o Cloud Build

Nesta página, mostramos como usar o Cloud Build para implantar um aplicativo em contêineres no Cloud Run.


Para seguir as instruções da tarefa diretamente no editor do Cloud Shell, clique em Orientação:

Orientações


Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative as APIs Cloud Build, Cloud Run, Artifact Registry, and Compute Engine.

    Ative as APIs

  5. Instale a CLI do Google Cloud.
  6. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  7. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  8. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  9. Ative as APIs Cloud Build, Cloud Run, Artifact Registry, and Compute Engine.

    Ative as APIs

  10. Instale a CLI do Google Cloud.
  11. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init

Conceder permissões

O Cloud Build requer as permissões Administrador do Cloud Run e Usuário da conta de serviço do IAM antes de implantar uma imagem no Cloud Run.

  1. Abra uma janela de terminal.

  2. Defina variáveis de ambiente para armazenar o ID e o número do projeto:

    PROJECT_ID=$(gcloud config list --format='value(core.project)')
    PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
    
  3. Conceda o papel Administrador do Cloud Run à conta de serviço do Cloud Build:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/run.admin
    
  4. Conceda o papel de Usuário da conta de serviço do IAM à conta de serviço do Cloud Build para a conta de serviço do ambiente de execução do Cloud Run:

    gcloud iam service-accounts add-iam-policy-binding \
        $PROJECT_NUMBER-compute@developer.gserviceaccount.com \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/iam.serviceAccountUser
    

Implantar uma imagem pré-criada

É possível configurar o Cloud Build para implantar no Cloud Run uma imagem pré-criada armazenada no Artifact Registry.

Para implantar uma imagem pré-criada:

  1. Abra uma janela do terminal, se já não estiver aberta.

  2. Crie um novo diretório chamado helloworld e navegue até ele:

    mkdir helloworld
    cd helloworld
    
  3. Crie um arquivo chamado cloudbuild.yaml com o conteúdo a seguir. Esse é o arquivo de configuração do Cloud Build. Ele contém instruções para o Cloud Build implantar a imagem chamada us-docker.pkg.dev/cloudrun/container/hello no serviço do Cloud Run chamado cloudrunservice.

    steps:
    - name: 'gcr.io/cloud-builders/gcloud'
      script: |
        gcloud run deploy cloudrunservice --image us-docker.pkg.dev/cloudrun/container/hello --region us-central1 --platform managed --allow-unauthenticated
  4. Implante a imagem executando o seguinte comando:

    gcloud builds submit --region=us-west2 --config cloudbuild.yaml
    

Quando a build for concluída, você verá uma resposta semelhante a esta:

DONE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ID                                    CREATE_TIME                DURATION  SOURCE                                                                                            IMAGES  STATUS
784653b2-f00e-4c4b-9f5f-96a5f115bef4  2020-01-23T14:53:13+00:00  23S       gs://cloudrunqs-project_cloudbuild/source/1579791193.217726-ea20e1c787fb4784b19fb1273d032df2.tgz  -       SUCCESS

Você acabou de implantar a imagem hello no Cloud Run.

Executar a imagem implantada

  1. Abra a página do Cloud Run no console do Google Cloud:

    Abrir a página "Cloud Run"

  2. Selecione o projeto e clique em Abrir.

    Você verá a página Serviços do Cloud Run.

  3. Na tabela, localize a linha com o nome cloudrunservice e clique em cloudrunservice.

    A página Detalhes do serviço de cloudrunservice é exibida.

  4. Para executar a imagem que você implantou no cloudrunservice, clique no URL:

    Captura de tela da página de detalhes do serviço do Cloud Run

A seguir