ID da região
O REGION_ID
é um código abreviado que o Google atribui
com base na região que você selecionou ao criar o aplicativo. O código não
corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes
aos códigos de país e estado geralmente usados. Para apps criados após
fevereiro de 2020, o REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criados antes dessa data, o
ID da região é opcional no URL.
Saiba mais sobre IDs de região.
Saiba como executar o aplicativo localmente, implantá-lo e testá-lo no App Engine.
Como executar localmente
Para testar a funcionalidade do aplicativo antes de implantá-lo, execute-o no ambiente local com as ferramentas de desenvolvimento que você costuma usar.
Antes de implantar o aplicativo
Antes de implantar o aplicativo:
- O proprietário do projeto do Cloud precisa ativar o App Engine.
- Verifique se a conta de usuário inclui os privilégios exigidos.
Implantar o aplicativo
Use qualquer uma das técnicas a seguir para implantar seu app:Use a Google Cloud CLI para implantar o código-fonte do seu aplicativo e um arquivo de versão Maven POM ou Gradle. O Cloud Build criará o app e o implantará no App Engine.
Use o plug-in do App Engine para Maven ou Gradle para criar seu app localmente e implantar o app criado no App Engine.
Use qualquer framework de build para criar um JAR completo (JAR executável) localmente. Depois, use a Google Cloud CLI para implantar o JAR no App Engine.
Para implantar os aplicativos de maneira programática, use a API Admin.
Como implantar o código-fonte do seu app
Se você usa o Maven ou o Gradle para gerenciar as compilações locais do seu app e se todas as dependências do seu app estiverem disponíveis para download, insira o comando
gcloud app deploy
no diretório que contém os arquivos pom.xml
ou build.gradle
do seu app:
gcloud app deploy
O comando instrui o Cloud Build a usar os pacotes de compilação do App Engine para criar o app e implantá-lo no App Engine.
Se você usa o Maven:
O pacote de compilação usa o seguinte comando:
mvn clean package --batch-mode -DskipTests
Se o diretório raiz do app tiver um arquivo
mvnw
, o comando de build substituirá./mvnw
em vez demvn
. O Cloud Build procura no diretóriotarget
o arquivo.jar
com uma entrada de manifesto de classe principal e cria umentrypoint
com o valorjava -jar <jarfile>
.
Se você usa o Gradle:
O pacote de compilação usa o seguinte comando:
gradle clean assemble -x test --build-cache
Se o diretório raiz do app tiver um arquivo
gradlew
, o comando de build substituirá./gradlew
em vez degradle
. O Cloud Build procura no diretóriobuild/libs
o arquivo.jar
com uma entrada de manifesto de classe principal e cria umentrypoint
com o valorjava -jar <jarfile>
.Verifique se não há
pom.xml
na raiz do seu projeto. Os projetos do Maven têm precedência sobre os projetos do Gradle.
Como visualizar registros de build
Os streams do Cloud Build criam e implantam registros, e é possível visualizá-los na seção de histórico do Cloud Build do console do Googel Cloud. Para ver as versões na região do aplicativo, use o menu suspenso Região, na parte superior da página, e escolha a região que você quer filtrar.
Observe o seguinte sobre essa técnica de implantação:
Se o app tiver dependências que só estão disponíveis localmente, o Cloud Build não conseguirá criar o app, e a implantação falhará. Nesse caso, recomendamos usar o plug-in Maven ou Gradle do App Engine.
A criação do app usa a cota do Cloud Build e o armazenamento do código-fonte do app usa a cota do Cloud Storage. O Cloud Build e o Cloud Storage oferecem cotas gratuitas. Assim, você não será cobrado pela implantação de apps do App Engine até ultrapassar as cotas gratuitas. Para mais informações, consulte Preços.
Atualmente, não é possível especificar argumentos adicionais para o comando de compilação do Gradle. Para mais informações, consulte o Google Issue Tracker.
Como usar o plug-in Maven ou Gradle do App Engine
O App Engine fornece plug-ins Maven e Gradle que podem ser usados para criar e implantar o app. Por exemplo, depois de configurar o plug-in Maven do App Engine, insira o seguinte comando no diretório que contém o arquivo pom.xml
do seu projeto:
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Substitua PROJECT_ID pelo ID do projeto do Cloud. Se
o arquivo pom.xml
já
especificar o
ID do projeto, não será necessário incluir a propriedade -Dapp.deploy.projectId
no
comando executado.
Para mais informações, consulte Como usar o Apache Maven e o plug-in do App Engine ou Como usar o Gradle e o plug-in do App Engine.
Como implantar um JAR executável
Use qualquer framework de compilação para criar um JAR executável localmente e siga um destes procedimentos, dependendo se você criou um arquivo app.yaml
para o app:
Se você criou um arquivo
app.yaml
:Copie o arquivo no mesmo diretório do arquivo JAR executável criado.
No diretório que contém o
app.yaml
e seu JAR, digite o seguinte comando:gcloud app deploy
Se você não criou um arquivo
app.yaml
, digite o seguinte comando:gcloud app deploy your-executable.jar
gcloud app deploy
criará um arquivoapp.yaml
que contém as configurações mínimas, usando todos os valores padrão.
Como ignorar arquivos
Use um arquivo .gcloudignore
para especificar arquivos e diretórios que não serão
enviados ao App Engine quando você implantar os serviços. Isso é
útil para ignorar artefatos de compilação e outros arquivos que não precisam ser
carregados com a implantação.
Como gerenciar imagens de versão
Cada vez que você implanta uma nova versão, uma imagem de contêiner é criada usando o serviço do Cloud Build. Essa imagem de contêiner é criada na região do aplicativo e executada no ambiente padrão do App Engine.
As imagens de contêiner criadas são armazenadas na pasta
app-engine-tmp/app
do Container Registry. É possível
fazer o download dessas imagens para guardá-las ou executá-las em outro lugar. Depois da conclusão da implantação, o App Engine não precisa mais das imagens de contêiner. Como elas não são excluídas automaticamente, é possível excluir com segurança todas as imagens desnecessárias para evitar atingir sua cota de armazenamento.
Para mais informações sobre como gerenciar imagens no Container Registry, consulte a
documentação do Container Registry.
Como visualizar o aplicativo
Após a implantação do aplicativo no App Engine, execute o comando abaixo
para iniciar o navegador e visualizá-lo em
https://PROJECT_ID.REGION_ID.r.appspot.com
:
gcloud app browse
Como testar no App Engine antes de transferir tráfego
Antes de configurar uma nova versão para receber tráfego, teste-a no App
Engine. Por exemplo, para testar uma nova versão do serviço default
, siga estas etapas:
Implante a nova versão, mas impeça que o tráfego seja roteado automaticamente para ela:
mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.promote=False
Acesse a nova versão no URL a seguir:
https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com
Agora, é possível testar a nova versão no ambiente de execução do App Engine. Além disso, é possível depurar o aplicativo visualizando os registros. Para mais informações, consulte Como gravar registros de apps.
O App Engine encaminha as solicitações enviadas a
https://PROJECT_ID.REGION_ID.r.appspot.com
para a versão configurada anteriormente para receber tráfego.Use o console do Google Cloud quando quiser enviar o tráfego para a nova versão:
Selecione a versão que você acabou de implantar e clique em Migrar tráfego.
Use o mesmo processo para testar novas versões de outros serviços substituindo
default
no URL pelo nome do serviço:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
Para mais informações sobre como apontar serviços e versões específicos, consulte Como as solicitações são roteadas.
Como usar variáveis de ambiente de build
Também é possível definir variáveis de ambiente de criação para ambientes de execução compatíveis com pacotes de criação.
Variáveis de ambiente de build são pares de chave-valor implantados com um app que
permite transmitir
informações de configuração
para buildpacks. Por exemplo, digamos que você quer personalizar as opções do compilador. É
possível adicionar ou remover essas variáveis de ambiente de build configurando o campo
build_env_variables
no arquivo app.yaml
.
Usar o Cloud Debugger
É possível usar o Debugger para inspecionar o estado do app implantado em qualquer local de código sem interromper ou desacelerar o aplicativo em execução.
Para usar o Debugger com um app em Java 11, a sinalização a seguir precisa ser incluída no campo entrypoint
do arquivo app.yaml
:
-agentpath:/opt/cdbg/cdbg_java_agent.so=--log_dir=/var/log
Se você já especificou entrypoint
em app.yaml
, adicione a sinalização agentpath ao comando java
no campo entrypoint
.
Se você não tiver especificado o campo entrypoint
, ou se o arquivo app.yaml
foi gerado ao implantar o aplicativo, o App Engine adicionará a sinalização ao comando usado para iniciar o app.
Como usar o Cloud Profiler
O Cloud Profiler é um criador de perfil estatístico de baixa sobrecarga que coleta continuamente informações sobre o uso da CPU e a alocação de memória dos seus aplicativos de produção. Ele atribui essas informações ao código-fonte do seu app, o que ajuda você a identificar as partes do aplicativo que consomem mais recursos e entender as características de desempenho do código.
Para usar o Cloud Profiler, configure os arquivos de configuração do app conforme descrito em Como iniciar o programa e reimplante o app.