Implementa y prueba tu aplicación

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

Ejecuta de manera local

Para probar la funcionalidad antes de la implementación, ejecuta tu aplicación en un entorno local con las herramientas para desarrolladores que sueles usar. Por ejemplo, npm start.

Antes de comenzar

Ten en cuenta lo siguiente antes de implementar tu aplicación:

Implementa tu aplicación

Implementa tu aplicación en App Engine con el comando 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. Obtén más información en Administra imágenes de compilación.

Para implementar tus apps de manera programática, usa la API de Administrador.

Implementa un servicio

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

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

gcloud app deploy

Si no especificas archivos con este comando, solo se implementa el archivo app.yaml en tu directorio actual. De manera predeterminada, el comando deploy genera un ID único para la versión que implementas, la implementa en el proyecto de Google Cloud Platform (GCP) para el que configuraste la herramienta de gcloud y enruta todo el tráfico a la versión nueva.

Si deseas cambiar el comportamiento predeterminado del comando, debes dirigirlo a archivos específicos o incluir 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 personalizada, usa la marca --version.
  • Para evitar que el tráfico se enrute de manera automática a la nueva versión, usa la marca --no-promote.
  • Para implementar en un proyecto de GCP específico, usa la marca --project.

Por ejemplo, para implementar el servicio definido por el archivo app.yaml en un proyecto de GCP específico, 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

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

Cómo implementar varios servicios

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

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

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

Requisitos para implementar varios servicios

  • Al comienzo, debes implementar una versión de tu aplicación en el servicio default antes de poder crear y, luego, implementar los servicios posteriores.
  • El ID de cada uno de tus servicios se debe especificar en los archivos de configuración app.yaml correspondientes. Para especificar el ID del 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 de tu archivo de configuración, se implementa la versión en el servicio default.

Omite archivos

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

Cómo administrar imágenes

Cada vez que implementas una versión nueva, se crea una imagen de contenedor con el servicio Cloud Build. Esa imagen de contenedor luego se ejecuta en el entorno estándar de App Engine.

Las imágenes de contenedor compiladas se almacenan en la carpeta app-engine en Container Registry. Puedes descargar estas imágenes para mantenerlas o ejecutarlas en otro lugar. Una vez que se complete la implementación, App Engine no necesitará las imágenes de contenedor. Ten en cuenta que no se borran de forma automática, por lo que puedes borrar con seguridad cualquier imagen que no necesites para no alcanzar tu cuota de almacenamiento. Para obtener más información sobre cómo administrar imágenes en Container Registry, consulta la documentación de Container Registry.

Cómo ver tu aplicación

Después de implementar tu aplicación en App Engine, puedes ejecutar el siguiente comando para iniciar el navegador y verla en http://YOUR_PROJECT_ID.appspot.com:

gcloud app browse

Cómo probar 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, si deseas probar una nueva versión para tu servicio default, realiza los siguientes pasos:

  1. Implementa tu nueva versión y, además, incluye la marca --no-promote:

    gcloud app deploy --no-promote

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

    http://VERSION_ID.default.YOUR_PROJECT_ID.appspot.com

    Ahora puedes probar tu versión nueva 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 Cómo escribir registros de aplicaciones.

    Las solicitudes enviadas a http://YOUR_PROJECT_ID.appspot.com se enrutan a la versión previamente configurada para recibir tráfico.

  3. Cuando desees enviar tráfico a la versión nueva, usa GCP Console para migrarlo de la siguiente manera:

    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 de tu servicio:

http://VERSION_ID.SERVICE_ID.YOUR_PROJECT_ID.appspot.com

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

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación del entorno estándar de App Engine para Node.js