Implementar y probar 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 eliges 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 tu aplicación de forma local, implementarla y probarla en App Engine.

Ejecuta de forma local

Para probar tu aplicación antes de la implementación, ejecútala en un entorno local con las herramientas de desarrollo que sueles usar.

Antes de implementar tu aplicación

Antes de implementar tu aplicación:

Implementa tu aplicación

Implementa la aplicación en App Engine con el comando de gcloud app deploy. Durante la implementación, el servicio Cloud Build compila una imagen de contenedor de la aplicación para ejecutar en el entorno estándar de App Engine. Cada compilación se ejecuta en la misma región que tu proyecto de Google Cloud. Para obtener más información, consulta Administra imágenes de compilación.

Para implementar tus aplicaciones de manera programática, usa la API de Admin.

Implementa un servicio

Para implementar tu aplicación en App Engine, debes implementar versiones de sus servicios y cada uno de sus archivos de configuración.

Para implementar una versión del servicio de la aplicación, ejecuta el siguiente comando desde el directorio donde se encuentra ubicado el archivo app.yaml del servicio:

gcloud app deploy

Si no especificas los archivos con el comando, solo se implementará el archivo app.yaml en el directorio actual. De forma predeterminada, el comando deploy genera un ID único para la versión que implementas, implementa la versión en el proyecto de Google Cloud en el que configuraste Google Cloud CLI y enruta todo el tráfico a la versión nueva.

Puedes cambiar el comportamiento predeterminado del comando si orientas los archivos específicos o incluyes parámetros adicionales:

  • Para implementar los otros archivos de configuración de tu servicio, debes orientar y, luego, implementar cada archivo por separado. Por ejemplo:
    gcloud app deploy cron.yaml
    gcloud app deploy dispatch.yaml
    gcloud app deploy index.yaml
    
  • Para especificar un ID de versión personalizado, usa la marca --version.
  • Para evitar que el tráfico se enrute de manera automática a la versión nueva, usa la marca --no-promote.
  • Para implementar en un proyecto de Google Cloud específico, usa la marca --project.

Por ejemplo, para implementar el servicio que define el archivo app.yaml en un proyecto específico de Google Cloud, asígnale un ID de versión personalizado y evita que el tráfico se enrute a la versión nueva:

gcloud app deploy --project PROJECT_ID --version VERSION_ID --no-promote

Para obtener más información sobre este comando, consulta la referencia de gcloud app deploy.

Implementa varios servicios

Puedes usar el mismo comando de implementación para implementar o actualizar varios de los servicios que conforman tu aplicación.

Antes de empezar:

  • Debes implementar una versión de la aplicación en el servicio default antes de poder crear y, luego, implementar los servicios posteriores.
  • El ID de cada uno de los servicios se debe especificar en los archivos de configuración app.yaml correspondientes. Para especificar el ID de servicio, incluye la definición del elemento service en cada archivo de configuración. De forma predeterminada, si se excluye la definición de este elemento del archivo de configuración, se implementa la versión en el servicio default.

Para implementar varios servicios, implementa cada archivo app.yaml del servicio por separado. Puedes especificar varios archivos con un solo comando de gcloud app deploy:

gcloud app deploy service1/app.yaml service2/app.yaml

Visualiza registros de compilación

Cloud Build transmite y, luego, implementa registros que se pueden ver en la sección Historial de compilación de Cloud Build de la consola de Google Cloud. Para ver las compilaciones en una región de la app, usa el menú Región a fin de filtrar por región.

Administra imágenes de compilación

Cada vez que implementas una versión nueva, sucede lo siguiente:

  1. App Engine crea una imagen de contenedor mediante el servicio Cloud Build.

  2. Cloud Build compila la imagen de contenedor en la región de la app y se ejecuta en el entorno estándar de App Engine.

  3. App Engine almacena imágenes de contenedor compiladas en Artifact Registry. Puedes descargar estas imágenes para mantenerlas o ejecutarlas en otro lugar.

Después de que se complete la implementación, App Engine no necesitará las imágenes de contenedor. Las imágenes de contenedor no se borran de forma automática. Para evitar alcanzar tu cuota de almacenamiento, puedes borrar con seguridad cualquier imagen que no necesites. Sin embargo, si necesitas las imágenes en el futuro o quieres conservar una copia de las imágenes, debes exportar una copia antes de borrarla. Para obtener más información sobre la administración de imágenes en Artifact Registry, consulta Administra imágenes.

Ignora los archivos

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

Visualiza la 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

Prueba en App Engine antes de desviar el tráfico

Antes de configurar una nueva versión para recibir 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, pero evita que el tráfico se enrute de forma automática a ella:

    gcloud app deploy --no-promote

  2. Accede a la versión nueva 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 tu aplicación si miras los registros. Para obtener más información, consulta Escribe registros de aplicaciones.

    En App Engine, las solicitudes enviadas a https://PROJECT_ID.REGION_ID.r.appspot.com se enrutan 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:

https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

Para obtener más información sobre cómo orientar versiones y servicios específicos, consulta la sección sobre cómo enrutar solicitudes.

Usa variables de entorno de compilación

También puedes configurar variables de entorno de compilación para entornos de ejecución que admitan paquetes de compilación.

Las variables de entorno de compilación son pares clave-valor que puedes especificar a fin de configurar el paquete de compilación que usas para implementar tu app. Por ejemplo, es posible que desees especificar opciones del compilador.

Antes de comenzar:

  • Las claves deben empezar con una letra ASCII en mayúscula y pueden incluir letras ASCII en mayúscula, dígitos y guiones bajos.
  • Debes evitar crear variables con un prefijo de clave GOOGLE_*.
  • Por el momento, las siguientes claves están reservadas para el uso de Google:
    • GOOGLE_RUNTIME
    • GOOGLE_RUNTIME_VERSION
    • GOOGLE_ENTRYPOINT
    • GOOGLE_DEVMODE
  • Puedes usar cualquier clave que se compatible con los paquetes de compilación.

Para usar variables de entorno con paquetes de compilación, especifica el campo build_env_variables en el archivo app.yaml.

Obtén más información sobre los paquetes de compilación.

Usa Cloud Trace

Cloud Trace es útil para comprender cómo se propagan las solicitudes a través de tus aplicaciones. Puedes inspeccionar información detallada sobre la latencia de una solicitud individual o ver la latencia global de toda la aplicación.

Para ver los detalles de seguimiento en Cloud Trace, consulta Busca y explora seguimientos. En el Explorador de seguimiento, puedes usar filtros para filtrar por el servicio y la versión específicos de App Engine.