Implemente uma aplicação contentorizada no Cloud Run através do Cloud Build
Esta página mostra como usar o Cloud Build para implementar uma aplicação em contentores no Cloud Run.
Para seguir orientações passo a passo para esta tarefa diretamente no editor do Cloud Shell, clique em Guiar-me:
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.
-
Verify 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.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a 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.
-
Verify 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.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, 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 a função de 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 a função Utilizador de objetos de armazenamento à 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 a função Utilizador da conta de serviço do IAM à conta de serviço do Cloud Build para a conta de serviço de tempo 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 de terminal (se ainda não estiver aberta).
Crie um novo diretório denominado
helloworld
e navegue para o mesmo:mkdir helloworld cd helloworld
Crie um ficheiro denominado
cloudbuild.yaml
com o seguinte conteúdo. Este ficheiro é o ficheiro de configuração do Cloud Build. Contém instruções para o Cloud Build implementar a imagem denominadaus-docker.pkg.dev/cloudrun/container/hello
no serviço do Cloud Run denominadocloudrunservice
.Implemente a imagem executando o seguinte comando:
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
Abra a página do Cloud Run na Google Cloud consola:
Selecione o projeto e clique em Abrir.
É apresentada a página Serviços do Cloud Run.
Na tabela, localize a linha com o nome cloudrunservice e clique em cloudrunservice.
É apresentada a página Detalhes do serviço para cloudrunservice.
Para executar a imagem que implementou no cloudrunservice, clique no URL:
- Saiba como criar usando o Cloud Build.
- Saiba como criar um ficheiro de configuração de compilação básico.
- Saiba como ver os resultados da compilação.
- Saiba mais sobre outras formas de implementar no Cloud Run.
- Saiba como implementar no Google Kubernetes Engine.
- Saiba mais sobre os recursos de DevOps.
- Explore o programa de investigação de DevOps.
Conceder autorizações
O Cloud Build requer as autorizações Administrador do Cloud Run e Utilizador da conta de serviço da IAM antes de poder implementar uma imagem no Cloud Run.
Implemente uma imagem pré-criada
Pode configurar o Cloud Build para implementar uma imagem pré-criada armazenada no Artifact Registry no Cloud Run.
Para implementar uma imagem pré-criada:
Quando a compilação estiver concluída, vai ver um resultado semelhante ao seguinte:
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
Acabou de implementar a imagem hello
no Cloud Run.