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.
Antes de começar
-
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. -
Install the Google Cloud CLI.
-
Configure a CLI gcloud para usar a sua identidade federada.
Para mais informações, consulte o artigo Inicie sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud initConceder autorizações
O Cloud Build requer as autorizações Administrador do Cloud Run e Utilizador da conta de serviço do IAM antes de poder implementar 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 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@ \ --role=roles/run.adminConceda 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@ \ --role="roles/storage.objectUser"Conceda a função Utilizador da conta de serviço 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
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:
Abra uma janela de terminal (se ainda não estiver aberta).
Crie um novo diretório com o nome
helloworlde navegue até ele:mkdir helloworld cd helloworldCrie um ficheiro denominado
cloudbuild.yamlcom 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/hellono serviço do Cloud Run denominadocloudrunservice.Implemente a imagem executando o seguinte comando:
gcloud builds submit --region=us-west2 --config cloudbuild.yaml
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 - SUCCESSAcabou de implementar a imagem
hellono Cloud Run.Executar a imagem implementada
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:
O que se segue?
- Saiba como criar com 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.