ID de región
El REGION_ID
es un código abreviado que Google asigna en función de la región que selecciones al crear tu aplicación. El código no corresponde a un país o provincia, aunque algunos IDs de región pueden parecerse a los códigos de país y provincia que se usan habitualmente. En las aplicaciones creadas después de febrero del 2020, REGION_ID.r
se incluye en las URLs de App Engine. En las aplicaciones creadas antes de esa fecha, el ID de región es opcional en la URL.
Aprende a ejecutar tu aplicación de forma local, desplegarla y probarla en App Engine.
Ejecutar localmente
Para probar tu aplicación antes de desplegarla, ejecútala en tu entorno local con las herramientas de desarrollo que sueles usar.
Antes de desplegar tu aplicación
Antes de desplegar tu aplicación:
- El propietario del proyecto Google Cloud debe configurar el proyecto para App Engine Google Cloud .
- Asegúrate de que tu cuenta de usuario incluya los privilegios necesarios.
Desplegar una aplicación
Despliega tu aplicación en App Engine con el comando
gcloud app deploy
. Durante la implementación, el servicio Cloud Build crea una imagen de contenedor de tu aplicación para que se ejecute en el entorno estándar.
Cada compilación se ejecuta en la misma región que tu Google Cloud proyecto. Para obtener más información, consulta el artículo sobre cómo gestionar imágenes de compilación.
Para desplegar tus aplicaciones de forma programática, usa la API Admin.
Desplegar un servicio
Para desplegar tu aplicación en App Engine, debes desplegar las versiones de los servicios de tu aplicación y cada uno de sus archivos de configuración.
Para desplegar una versión del servicio de tu aplicación, ejecuta el siguiente comando desde el directorio en el que se encuentra el archivo app.yaml
de tu servicio:
gcloud app deploy
Si no especificas ningún archivo con el comando, solo se implementará el archivo app.yaml
del directorio actual. De forma predeterminada, el comando deploy
genera un ID único para la versión que despliegues, la despliega en el proyectoGoogle Cloud que hayas configurado para usar la CLI de Google Cloud y dirige todo el tráfico a la nueva versión.
Puedes cambiar el comportamiento predeterminado del comando segmentando archivos específicos o incluyendo parámetros adicionales:
- Para implementar los demás archivos de configuración de tu servicio, debes seleccionar e 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 dirija automáticamente a la nueva versión, usa la marca
--no-promote
. - Para implementar en un proyecto específico, usa la marca
--project
. Google Cloud
Por ejemplo, para desplegar el servicio definido por el archivo app.yaml
en un proyectoGoogle Cloud específico, asígnale un ID de versión personalizado e impide que el tráfico se dirija a la nueva versión:
gcloud app deploy --project PROJECT_ID --version VERSION_ID --no-promote
Para obtener más información sobre este comando, consulta la gcloud app deploy
referencia.
Cuando despliegas una versión nueva con el mismo nombre que una versión ya existente, App Engine migra inmediatamente el tráfico a la nueva versión. Hay un pico de latencia cuando App Engine carga solicitudes a la nueva versión. La nueva versión sobrescribe la anterior y no podrás migrar el tráfico a la versión anterior. Todas las instancias de la versión anterior se cierran inmediatamente. Para obtener más información, consulta el artículo Migrar tráfico.
Desplegar varios servicios
Utilizas el mismo comando de implementación para implementar o actualizar los distintos servicios que componen tu aplicación.
Antes de empezar:
- Primero debes desplegar una versión de tu aplicación en el servicio
default
para poder crear y desplegar otros servicios. - El ID de cada uno de tus servicios debe especificarse en sus correspondientes archivos de configuración
app.yaml
. Para especificar el ID de servicio, incluye la definición del elementoservice
en cada archivo de configuración. De forma predeterminada, si excluyes esta definición de elemento de tu archivo de configuración, la versión se desplegará en el serviciodefault
.
Para desplegar varios servicios, despliega por separado el archivo app.yaml
de cada servicio. Puedes especificar varios archivos con un único comando gcloud app deploy
:
gcloud app deploy service1/app.yaml service2/app.yaml
Ver registros de compilación
Cloud Build transmite los registros de compilación y despliegue, que se pueden ver en la sección Historial de compilaciones de Cloud Build en la consola de Google Cloud . Para ver las compilaciones de la región de la aplicación, usa el menú Región para filtrar por región.
Gestionar imágenes de compilación
Cada vez que implementes una nueva versión:
App Engine crea una imagen de contenedor con el servicio Cloud Build.
Cloud Build crea la imagen de contenedor en la región de la aplicación y se ejecuta en el entorno estándar de App Engine.
App Engine almacena las imágenes de contenedor creadas en Artifact Registry. Puedes descargar estas imágenes para conservarlas o ejecutarlas en otro lugar.
Una vez completado el despliegue, App Engine ya no necesita las imágenes de contenedor. Las imágenes de contenedor no se eliminan automáticamente. Para no alcanzar tu cuota de almacenamiento, puedes eliminar de forma segura las imágenes que no necesites. Sin embargo, si crees que vas a necesitar las imágenes en el futuro o quieres conservar una copia, debes exportarlas antes de eliminarlas. Si quieres obtener más información sobre cómo gestionar imágenes en Artifact Registry, consulta el artículo sobre cómo gestionar imágenes.
Ignorar archivos
Puedes usar un archivo .gcloudignore
para especificar los archivos y directorios que no se subirán a App Engine cuando despliegues tus servicios. Esto es útil para ignorar artefactos de compilación y otros archivos que no es necesario subir con tu implementación.
Ver tu solicitud
Después de desplegar la aplicación en App Engine, puedes ejecutar el siguiente comando para iniciar el navegador y verla en
https://PROJECT_ID.REGION_ID.r.appspot.com
:
gcloud app browse
Hacer pruebas en App Engine antes de cambiar el tráfico
Antes de configurar una nueva versión para que reciba tráfico, puedes probarla en App Engine. Por ejemplo, para probar una nueva versión de tu servicio default
, sigue estos pasos:
Despliega la nueva versión, pero evita que el tráfico se dirija automáticamente a ella:
gcloud app deploy --no-promote
Para acceder a la nueva versión, ve a la siguiente URL:
https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com
Ahora puedes probar la nueva versión en el entorno de tiempo de ejecución de App Engine. Puedes depurar tu aplicación consultando sus registros. Para obtener más información, consulta el artículo Escribir registros de aplicaciones.
App Engine dirige las solicitudes enviadas a
https://PROJECT_ID.REGION_ID.r.appspot.com
a la versión configurada anteriormente para recibir tráfico.Cuando quieras enviar tráfico a la nueva versión, usa laGoogle Cloud consola para migrar el tráfico:
Seleccione la versión que acaba de implementar y haga clic en Migrar tráfico.
Puedes usar el mismo proceso para probar nuevas versiones de otros servicios. Para ello, sustituye default
en la URL por el nombre de tu servicio:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
Para obtener más información sobre cómo orientar las solicitudes a servicios y versiones específicos, consulta Cómo se enrutan las solicitudes.
Usar variables de entorno de compilación
Puedes definir variables de entorno de compilación para los tiempos de ejecución que admitan paquetes de compilación.
Las variables de entorno de compilación son pares clave-valor que puede especificar para configurar el paquete de compilación que usa para desplegar su aplicación. Por ejemplo, puede especificar opciones de compilador.
Antes de empezar:
- Las claves deben empezar por una letra ASCII en mayúscula y pueden incluir letras ASCII en mayúscula, números y guiones bajos.
- No debes crear variables con el prefijo de clave
GOOGLE_*
. - Las siguientes claves están reservadas para el uso de Google:
GOOGLE_RUNTIME
GOOGLE_RUNTIME_VERSION
GOOGLE_ENTRYPOINT
GOOGLE_DEVMODE
- Puedes usar cualquier clave compatible con buildpacks.
Para usar variables de entorno con buildpacks, especifica el campo
build_env_variables
en tu archivo app.yaml
.
Más información sobre los buildpacks
Usar Cloud Trace
Cloud Trace es útil para entender cómo se propagan las solicitudes por toda la aplicación. Puedes inspeccionar información detallada sobre la latencia de una solicitud o ver la latencia agregada de toda tu aplicación.
Para ver los detalles de las trazas en Cloud Trace, puedes seguir las instrucciones de Buscar y explorar trazas. En el explorador de trazas, puedes usar los filtros para filtrar por tu servicio y versión específicos de App Engine.