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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build, Cloud Run, Artifact Registry, and Compute Engine APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
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.
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:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \ --role=roles/run.admin
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:
Abra uma janela do terminal, se já não estiver aberta.
Crie um novo diretório chamado
helloworld
e navegue até ele:mkdir helloworld cd helloworld
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 chamadaus-docker.pkg.dev/cloudrun/container/hello
no 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 do Cloud Run no console do Google Cloud:
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 do 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.