Configura tu app con app.yaml

Una app de App Engine se configura mediante un archivo app.yaml que contiene los recursos de CPU, memoria, red y disco, el escalamiento y otros parámetros de configuración generales, incluidas las variables de entorno. Puedes seleccionar cualquier versión nueva de Java 11+ o usar las versiones anteriores de Eclipse Jetty 9.3, o Java 8. Para Eclipse Jetty 9.3 y Java 8, puedes usar Maven o Gradle.

Acerca de los archivos app.yaml

Puedes especificar la configuración del entorno de ejecución para tu app de Java, incluidas las versiones y las URL, en el archivo app.yaml. Este actúa como un descriptor de implementación de una versión específica del servicio.

Primero, debes crear el archivo app.yaml para el servicio default de tu app antes de que puedas crear e implementar los archivos app.yaml de servicios adicionales.

En el siguiente app.yaml, se muestra cómo configurar tu app para las versiones 8, 11 y 17 y posteriores de Java. Ten en cuenta que debes actualizar tu archivo app.yaml para usar la versión nueva. Consulta el entorno de ejecución de Java para obtener más información sobre el uso de las nuevos versiones.

versión 17 y posteriores

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

versión 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

versión 8

runtime: java
env: flex

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

Según la complejidad del servicio de tu app, es posible que solo necesites definir algunos elementos en el archivo app.yaml correspondiente. En el siguiente ejemplo se demuestra lo que una aplicación Java simple puede requerir en el entorno flexible:

Puedes especificar un nombre único para tus archivos app.yaml, pero también debes especificar el nombre del archivo con el comando de implementación. Por ejemplo, si al archivo app.yaml lo nombras service-name-app.yaml o app.flexible.yaml, debes implementar la aplicación mediante una de las siguientes opciones:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
Para obtener más información sobre cómo estructurar varios servicios y archivos app.yaml en tu app, consulta Estructura servicios web.

Todos los elementos de configuración

Para obtener una lista completa de todos los elementos compatibles con este archivo de configuración, consulta la referencia de app.yaml.

Habilita la recopilación de métricas de máquinas virtuales de Java

Puedes configurar el entorno flexible de App Engine para que Java recopile métricas comunes de los procesos de la máquina virtual de Java (JVM). Las métricas se recopilan con el mismo complemento de supervisión de JVM que usa Cloud Monitoring. Para ver la lista completa de métricas de App Engine, consulta la guía de métricas de Google Cloud.

Si deseas recopilar estas métricas de las JVM para tu app:

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

Deberás configurar las siguientes propiedades del sistema JMX en las variables de entorno del archivo app.yaml e implementar tu app.

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"