Como configurar o aplicativo com app.yaml

Um aplicativo do App Engine é configurado usando um arquivo app.yaml, que contém recursos de CPU, memória, rede e disco, escalonamento e outras configurações gerais, incluindo variáveis de ambiente. É possível selecionar qualquer nova versão do Java 11 ou posterior ou usar as versões mais antigas do Eclipse Jetty 9.3 ou Java 8. Para o Eclipse Jetty 9.3 e Java 8, é possível usar o Maven ou o Gradle.

Sobre arquivos app.yaml

É possível especificar a configuração de ambiente de execução do aplicativo Java, incluindo versões e URLs, no arquivo app.yaml. Esse arquivo atua como um descritor de implantação de uma versão de serviço específica.

Primeiro, é necessário criar o arquivo app.yaml para o serviço default do app antes de criar e implementar arquivos app.yaml para outros serviços.

O app.yaml a seguir demonstra como configurar seu app para versões 8, 11, 17 e mais recentes do Java. Você precisa atualizar o arquivo app.yaml para usar a nova versão. Consulte Ambiente de execução do Java para mais informações sobre como usar as novas versões.

versão 17 e mais recentes

runtime: java
env: flex
runtime_config:
operating_system: "ubuntu22"
runtime_version: "21"
handlers:
- url: /.*
script: this field is required, but ignored

manual_scaling:
instances: 1

Versão 11

runtime: java
env: flex
runtime_config:
operating_system: "ubuntu18"
runtime_version: "11"
handlers:
- url: /.*
script: this field is required, but ignored

manual_scaling:
instances: 1

versão 8

runtime: java
env: flex

handlers:
- url: /.*
  script: this field is required, but ignored

Dependendo da complexidade do serviço do aplicativo, talvez seja necessário definir apenas alguns elementos no arquivo app.yaml correspondente. No exemplo a seguir, veja o que um simples aplicativo Java pode exigir no ambiente flexível:

É possível especificar um nome único para os arquivos app.yaml, mas será necessário especificar o nome do arquivo com o comando de implantação também. Por exemplo, ao nomear seu arquivo app.yaml, service-name-app.yaml ou app.flexible.yaml, será preciso implantar o aplicativo usando:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
Para saber mais sobre como estruturar vários serviços e arquivos app.yaml no app, consulte Como estruturar serviços da Web.

Todos os elementos de configuração

Para uma lista completa de todos os elementos compatíveis com esse arquivo de configuração, consulte a referência do app.yaml.

Como ativar a coleta de métricas da máquina virtual Java

É possível configurar o ambiente flexível do App Engine para Java para coletar métricas comuns para processos da máquina virtual Java (JVM). As métricas são coletadas usando o mesmo plug-in de monitoramento da JVM que o Cloud Monitoring usa. Para ver a lista completa de métricas do App Engine, consulte o guia de métricas do Google Cloud.

Se você quiser coletar essas métricas de JVM para o aplicativo, siga estas instruções:

  • appengine.googleapis.com/flex/instance/jvm/gc/count
  • appengine.googleapis.com/flex/instance/jvm/gc/time

Você precisará definir as seguintes propriedades do sistema JMX nas variáveis de ambiente no app.yaml e implantar o aplicativo.

JAVA_USER_OPTS: "-Djava.rmi.server.hostname=172.17.0.1 -Dcom.sun.management.jmxremote.port=10403 -
Dcom.sun.management.jmxremote.rmi.port=10403 -Dcom.sun.management.jmxremote.local.only=false -
Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"