Início rápido: crie e implemente uma app Web Java Spring Boot no Cloud Run
Saiba como usar um único comando para criar e implementar uma aplicação Web "Hello World" a partir de um exemplo de código para Google Cloud usar o Cloud Run.
Seguindo os passos neste início rápido, o Cloud Run cria automaticamente um Dockerfile para si quando implementa a partir do código-fonte.
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.
-
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.
-
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
- Para definir o projeto predefinido para o seu serviço do Cloud Run:
Substitua PROJECT_ID pelo seu Google Cloud ID do projeto.gcloud config set project PROJECT_ID
Se estiver ao abrigo de uma política da organização de restrição de domínio que restringe as invocações não autenticadas para o seu projeto, tem de aceder ao serviço implementado conforme descrito em Testar serviços privados.
Ative a API Cloud Run Admin e a API Cloud Build:
gcloud services enable run.googleapis.com \ cloudbuild.googleapis.com
Depois de ativar a API Cloud Run Admin, a conta de serviço predefinida do Compute Engine é criada automaticamente.
- Conceda à conta de serviço do Cloud Build a seguinte função do IAM.
Clique para ver as funções necessárias para a conta de serviço do Cloud Build
O Cloud Build usa automaticamente a conta de serviço predefinida do Compute Engine como a conta de serviço predefinida do Cloud Build para compilar o seu código-fonte e o recurso do Cloud Run, a menos que substitua este comportamento. Para que o Cloud Build compile as suas origens, peça ao administrador para conceder a função Cloud Run Builder (
roles/run.builder
) à conta de serviço predefinida do Compute Engine no seu projeto:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/run.builder
Substitua
PROJECT_NUMBER
pelo seu Google Cloud número do projeto ePROJECT_ID
pelo seu Google Cloud ID do projeto. Para ver instruções detalhadas sobre como encontrar o ID e o número do projeto, consulte o artigo Criar e gerir projetos.A concessão da função de criador do Cloud Run à conta de serviço predefinida do Compute Engine demora alguns minutos a propagar.
Na consola, crie um novo projeto Web vazio com os comandos
curl
eunzip
:curl https://start.spring.io/starter.zip \ -d type=maven-project \ -d dependencies=web \ -d javaVersion=21 \ -d name=helloworld \ -d artifactId=helloworld \ -d baseDir=helloworld \ -o helloworld.zip unzip helloworld.zip cd helloworld
Esta ação cria um projeto Spring Boot.
Para usar este comando cURL no Microsoft Windows, precisa de uma das seguintes linhas de comandos ou, opcionalmente, usar o Spring Initializr (configuração pré-carregada) para gerar o projeto:
Atualize a classe
HelloworldApplication
emsrc/main/java/com/example/helloworld/HelloworldApplication.java
adicionando um@RestController
para processar o mapeamento/
e também adicione um campo@Value
para fornecer a variável de ambiente NAME:Defina a porta do servidor para ser definida pela variável de ambiente PORT em
src/main/resources/application.properties
:Este código cria um servidor Web básico que escuta na porta definida pela variável de ambiente
PORT
.Crie um ficheiro
project.toml
no diretório raiz da aplicação para especificar uma versão do Java:[[build.env]] name = "GOOGLE_RUNTIME_VERSION" value = "21"
No diretório do código-fonte, implemente a pasta atual através do seguinte comando:
gcloud run deploy --source .
Quando lhe for pedido o nome do serviço, prima Enter para aceitar o nome predefinido, por exemplo,
helloworld
.Se lhe for pedido que ative APIs adicionais no projeto, por exemplo, a API Artifact Registry, responda premindo
y
.Quando lhe for pedido para indicar a região: selecione a região da sua escolha, por exemplo,
europe-west1
.Se lhe for pedido que crie um repositório na região especificada, responda premindo
y
.Se lhe for pedido que permita o acesso público: responda
y
. Pode não ver este pedido se existir uma política organizacional de restrição de domínio que o impeça. Para mais detalhes, consulte a secção Antes de começar.
Em seguida, aguarde alguns momentos até que a implementação esteja concluída. Se tiver êxito, a linha de comandos apresenta o URL do serviço.
Visite o serviço implementado abrindo o URL do serviço num navegador de Internet.
asia-east1
(Taiwan)asia-northeast1
(Tóquio)asia-northeast2
(Osaca)asia-south1
(Mumbai, Índia)europe-north1
(Finlândia)Baixo CO2
europe-north2
(Estocolmo)Baixo CO2
europe-southwest1
(Madrid)Baixo CO2
europe-west1
(Bélgica)Baixo CO2
europe-west4
(Países Baixos)Baixo CO2
europe-west8
(Milão)europe-west9
(Paris)Baixo CO2
me-west1
(Telavive)northamerica-south1
(México)us-central1
(Iowa)Baixo CO2
us-east1
(Carolina do Sul)us-east4
(Virgínia do Norte)us-east5
(Columbus)us-south1
(Dallas)Baixo CO2
us-west1
(Oregão)Baixo CO2
africa-south1
(Joanesburgo)asia-east2
(Hong Kong)asia-northeast3
(Seul, Coreia do Sul)asia-southeast1
(Singapura)asia-southeast2
(Jacarta)asia-south2
(Deli, Índia)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Varsóvia, Polónia)europe-west10
(Berlim)Baixo CO2
europe-west12
(Turim)europe-west2
(Londres, Reino Unido)Baixo CO2
europe-west3
(Frankfurt, Alemanha)europe-west6
(Zurique, Suíça)Baixo CO2
me-central1
(Doha)me-central2
(Dammam)northamerica-northeast1
(Montreal)Baixo CO2
northamerica-northeast2
(Toronto)Baixo CO2
southamerica-east1
(São Paulo, Brasil)Baixo CO2
southamerica-west1
(Santiago, Chile)Baixo CO2
us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Escreva a aplicação de amostra
Para escrever uma aplicação em Java:
Crie uma aplicação Spring Boot.
A sua app está concluída e pronta para ser implementada.
Implemente no Cloud Run a partir da origem
Importante: este início rápido pressupõe que tem funções de proprietário ou editor no projeto que está a usar para o início rápido. Caso contrário, consulte a função de programador de origem do Cloud Run para ver as autorizações necessárias para implementar um recurso do Cloud Run a partir da origem.
A implementação a partir da origem cria automaticamente uma imagem de contentor a partir do código-fonte e implementa-a.
Para implementar a partir da origem:
Localizações do Cloud Run
O Cloud Run é regional, o que significa que a infraestrutura que executa os seus serviços do Cloud Run está localizada numa região específica e é gerida pela Google para estar disponível de forma redundante em todas as zonas dessa região.
O cumprimento dos requisitos de latência, disponibilidade ou durabilidade são fatores
principais para selecionar a região onde os seus serviços do Cloud Run são executados.
Geralmente, pode selecionar a região mais próxima dos seus utilizadores, mas deve considerar a localização dos outros Google Cloudprodutos usados pelo seu serviço do Cloud Run.
A utilização Google Cloud de produtos em conjunto em várias localizações pode afetar
a latência do seu serviço, bem como o custo.
O Cloud Run está disponível nas seguintes regiões:
Sujeito aos preços de Nível 1
Sujeito aos preços de Nível 2
Se já criou um serviço do Cloud Run, pode ver a região no painel de controlo do Cloud Run na Google Cloud consola.
Limpar
Remova o projeto de teste
Embora o Cloud Run não cobre quando o serviço não está em utilização, ainda pode ser-lhe cobrado o armazenamento da imagem do contentor no Artifact Registry. Pode eliminar a imagem do contentor ou eliminar o Google Cloud projeto para evitar incorrer em custos. A eliminação do seu Google Cloud projeto interrompe a faturação de todos os recursos usados nesse projeto.
O que se segue?
Para mais informações sobre a criação de um contentor a partir do código-fonte e o envio para um repositório, consulte: