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
- Faça login na sua Google Cloud conta do. Se você não conhece o Google Cloud, crie uma conta para avaliar a performance dos nossos produtos em cenários reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
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 role
(
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.-
Instale a 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 CLI gcloud, 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 role
(
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.-
Instale a 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 CLI gcloud, execute o seguinte comando:
gcloud init
Conceder permissões
O Cloud Build requer várias permissões antes de implantar uma imagem no Cloud Run. Para conceder essas permissões, faça o seguinte:
Abra uma janela do terminal.
Defina variáveis de ambiente para armazenar o ID do projeto 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 à sua 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 à sua 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 Usuário da conta de serviço à sua 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/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:
Abra uma janela do terminal, se já não estiver aberta.
Crie um novo diretório chamado
helloworlde navegue até ele:mkdir helloworld cd helloworldCrie 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 chamadaus-docker.pkg.dev/cloudrun/container/hellono serviço do Cloud Run chamadocloudrunservice.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
Abra a página "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:
A seguir
- 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.