Implementa y prueba tu aplicación

ID de región

REGION_ID es un código abreviado que Google asigna en función de la región que seleccionas cuando creas la app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. En el caso de las apps creadas después de febrero de 2020, REGION_ID.r se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.

Obtén más información acerca de los ID de región.

Aprende cómo ejecutar, implementar y probar tu aplicación de manera local en App Engine.

Cómo ejecutar de manera local

Para probar la funcionalidad antes de implementar, ejecuta tu aplicación en tu entorno local con las herramientas para desarrolladores que usas con normalidad.

Si deseas obtener más información, incluidos los comandos específicos según tu complemento, consulta Pruebas locales en el entorno de ejecución de Java 8 o Jetty 9 o Pruebas locales en el entorno de ejecución de Java 8.

Cómo implementar tu aplicación

Antes de comenzar

Antes de implementar tu aplicación:

Cómo implementar un servicio

Para implementar la aplicación de Java en el entorno flexible de App Engine, puedes usar cualquiera de las herramientas compatibles. Para la implementación de la línea de comandos, usa gcloud app deploy desde la CLI de gcloud o usa los complementos de Maven o de Gradle. Para implementar mediante un IDE, usa los complementos de IntelliJ o Eclipse. Para implementar las apps de manera programática, usa la API de Administrador.

Omite archivos

Puedes usar un archivo .gcloudignore para especificar los archivos y directorios que no se deben subir a Google Cloud cuando implementes los servicios. Esto es útil para ignorar artefactos de compilación y otros archivos que no necesitan subirse con la implementación.

Obtén más información sobre la sintaxis del archivo .gcloudignore en la referencia de gcloud.

Compila un contenedor para la implementación de forma manual

Para compilar las imágenes de contenedor fuera de Google Cloud Platform, primero debes subir las imágenes a un repositorio de imágenes de contenedor antes de poder implementarlas en App Engine con el comando gcloud app deploy.

Por ejemplo, si compilas las imágenes de contenedor de manera local con Docker, puedes enviarlas a Google Container Registry y, luego, especificar la URL de la imagen en la marca --image-url del comando:

gcloud app deploy src/main/appengine/app.yaml --image-url gcr.io/YOUR_PROJECT_ID/YOUR_CONTAINER_IMAGE

Usa las canalizaciones de implementación continua y automatizada

Puedes utilizar Cloud Build para automatizar las implementaciones en las canalizaciones continuas. Para obtener más información, consulta Implementa artefactos y Automatiza compilaciones con activadores de compilación en la documentación de Cloud Build.

Imágenes base de Docker para Java

Si deseas crear una aplicación Java en un entorno de ejecución personalizado desde cero, usa una imagen base provista en tu Dockerfile:

Entorno de ejecución Comando Docker
Java 8 FROM gcr.io/google_appengine/openjdk
Java 8 / Jetty 9 FROM gcr.io/google-appengine/jetty

Visualiza tu aplicación

Una vez que implementes la aplicación en App Engine, puedes ejecutar el siguiente comando para iniciar el navegador y visualizarla en https://PROJECT_ID.REGION_ID.r.appspot.com:

gcloud app browse

Realiza pruebas en App Engine

Antes de configurar una versión nueva para que reciba tráfico, puedes probarla en App Engine. Por ejemplo, para probar una versión nueva del servicio default, sigue estos pasos:

  1. Implementa tu versión nueva con el parámetro promote establecido como false:

  2. Accede a la nueva versión desde la siguiente URL:

    https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com

    Ahora puedes probar tu nueva versión en el entorno de ejecución de App Engine. Puedes depurar la aplicación si visualizas los registros en el Explorador de registros de Google Cloud Console. Para obtener más información, consulta Escribe registros de aplicaciones.

    Las solicitudes enviadas a https://PROJECT_ID.REGION_ID.r.appspot.com se enrutarán a la versión que se configuró antes para recibir tráfico.

  3. Cuando desees enviar tráfico a la nueva versión, usa la consola de Google Cloud para migrar el tráfico:

    Administra versiones

    Selecciona la versión que acabas de implementar y haz clic en Migrar tráfico.

Puedes usar el mismo proceso para probar las versiones nuevas de otros servicios si reemplazas default en la URL por el nombre del servicio:

Para obtener más información sobre cómo orientar servicios y versiones específicos, consulta Cómo se enrutan las solicitudes.

Soluciona problemas

Los siguientes son mensajes de error comunes que pueden surgir cuando implementas apps:

PERMISSION_DENIED: Operation not allowed
The "appengine.applications.create" permission is required.
Si el proyecto de Cloud no incluye la aplicación de App Engine obligatoria, es posible que el comando gcloud app deploy falle cuando intente ejecutar el comando gcloud app create. Solo las cuentas con función de propietario tienen los permisos necesarios para crear aplicaciones de App Engine.
502 Bad Gateway
Es posible que el proyecto de Cloud falle cuando se inicie si app.yaml está mal configurado. Para obtener información detallada sobre los mensajes de error, consulta Verifica los registros de la app.
[13] An internal error occurred while creating a Cloud Storage bucket.

App Engine crea un bucket multirregional de Cloud Storage predeterminado, en la misma región en la que se crea tu aplicación. Este bucket es necesario para almacenar el contenido de tu aplicación. Este error se muestra cuando no se puede crear este bucket en las siguientes situaciones:

[13] An internal error occurred.

Este error puede ocurrir si implementas tu servicio con una configuración de red mediante una configuración de VPC compartida. Asegúrate de que tu entorno flexible de App Engine cumpla con todos los requisitos para esta configuración. A continuación, asegúrate de que las cuentas de servicio configuradas para esta configuración estén presentes en tu proyecto; de lo contrario, tendrás que restablecer las cuentas. Ten en cuenta que la región de la subred en el proyecto host de la VPC compartida debe coincidir con la ubicación en la que se creó el entorno de App Engine.

Si el problema persiste después de asegurarte de que la configuración de app.yaml sea válida, usa el SDK de Google Cloud para volver a implementar el servicio, agrega la marca --verbosity=debug y comunícate con la Asistencia de GCP proporcionando el resultado del comando.

IP space of {USER_SUBNETWORK_NAME} is exhausted and needs to be expanded.

Si la implementación falla con este mensaje de error, significa que la red configurada para el servicio de App Engine no tiene direcciones que asignar a las instancias nuevas del servicio. Puedes resolver el problema si expandes los rangos de VPC en la subred configurada para tu servicio de entorno flexible de App Engine.