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:
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- 
    
    
      
        In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
      Install the Google Cloud CLI. 
- 
          Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada. 
- 
        Para inicializar a gcloud CLI, execute o seguinte comando: gcloud init
- 
    
    
      
        In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
      Install the Google Cloud CLI. 
- 
          Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada. 
- 
        Para inicializar a gcloud CLI, execute o seguinte comando: gcloud init
- Abra uma janela de terminal. 
- 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)')
- Conceda o papel Administrador do Cloud Run à conta de serviço do Cloud Build: - gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role=roles/run.admin
- Conceda o papel Usuário de objetos do Storage à conta de serviço do Cloud Build: - gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role="roles/storage.objectUser"
- 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 $(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role="roles/iam.serviceAccountUser" \ --project=$PROJECT_ID
- Abra uma janela do terminal, se já não estiver aberta. 
- Crie um novo diretório chamado - helloworlde navegue até ele:- mkdir helloworld cd helloworld
- Crie um arquivo chamado - cloudbuild.yamlcom 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/hellono serviço do Cloud Run chamado- cloudrunservice.
- Implante a imagem executando o seguinte comando: - gcloud builds submit --region=us-west2 --config cloudbuild.yaml
- Abra a página do Cloud Run no Google Cloud console: 
- Selecione o projeto e clique em Abrir. - Você verá a página Serviços do Cloud Run. 
- Na tabela, localize a linha com o nome cloudrunservice e clique em cloudrunservice. - A página Detalhes do serviço de cloudrunservice é exibida. 
- Para executar a imagem que você implantou no cloudrunservice, clique no URL:   
- Saiba como criar usando o Cloud Build.
- Saiba como criar um arquivo de configuração de build básico.
- Saiba como ver os resultados do build.
- Aprenda novas maneiras de implantar no Cloud Run.
- Saiba como implantar no Google Kubernetes Engine.
- Saiba mais sobre os recursos de DevOps.
- Explore o programa de pesquisa de DevOps.
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.
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:
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.