Implementa y prueba tu aplicación

ID de región

El REGION_ID es un código abreviado que Google asigna en función de la región que selecciones cuando crees tu app. El código no corresponde a un país o una provincia, aunque algunos ID de región pueden aparecer de manera similar a los códigos de países y provincias de uso común. La inclusión de REGION_ID.r en las URL de App Engine es opcional para las aplicaciones existentes y pronto será obligatoria para todas las aplicaciones nuevas.

A fin de garantizar una transición sin problemas, estamos actualizando App Engine con lentitud para usar los ID de región. Si aún no actualizamos tu proyecto de Google Cloud, no verás un ID de región para la app. Dado que el ID es opcional para las apps existentes, no necesitas actualizar las URL ni realizar otros cambios una vez que el ID de región esté disponible para las apps existentes.

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

Si deseas probar las funciones de tu aplicación antes de implementarla, debes ejecutarla en tu entorno local con las herramientas para desarrolladores que utilizas generalmente.

Implementa tu aplicación

Implementa la aplicación en App Engine con el comando de gcloud app deploy. Este comando compila de manera automática una imagen de contenedor mediante el servicio de Cloud Build y, luego, implementa esa imagen en el entorno flexible de App Engine. El contenedor incluirá las modificaciones locales que realizaste en la imagen del entorno de ejecución.

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

Antes de comenzar

Antes de implementar tu aplicación:

Implementa un servicio

Puedes implementar tu aplicación en App Engine si utilizas versiones de tus servicios de aplicación y cada uno de tus archivos de configuración.

Para implementar una versión del servicio de tu aplicación, ejecuta el siguiente comando:

gcloud app deploy .\bin\Debug\netcoreapp2.1\publish\app.yaml

De forma predeterminada, el comando deploy genera automáticamente una nueva versión de ID cada vez que lo usas y enrutará el tráfico a la versión nueva.

Para anular este comportamiento, puedes especificar el ID de versión con la marca version:

gcloud app deploy .\bin\Debug\netcoreapp2.1\publish\app.yaml --version myID

También puedes especificar que no se envíe todo el tráfico a la nueva versión de inmediato con la marca --no-promote:

gcloud app deploy .\bin\Debug\netcoreapp2.1\publish\app.yaml --no-promote

Omite archivos

Puedes usar un archivo .gcloudignore para especificar los archivos y directorios que no se deben subir a Google Cloud cuando implementes tus 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 gcloud.

Cómo compilar manualmente un contenedor para la implementación

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

Por ejemplo, si compilas tus 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 .\bin\Debug\netcoreapp2.1\publish\app.yaml --image-url gcr.io/YOUR_PROJECT_ID/YOUR_CONTAINER_IMAGE

Cómo usar las canalizaciones de implementación continua y automática

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

Cómo usar imágenes base de Docker para .NET

Si deseas crear una aplicación .NET del entorno de ejecución personalizado desde cero, usa una imagen base de tu Dockerfile:

Tiempo de ejecución Comando Docker
.NET FROM gcr.io/google-appengine/aspnetcore:1.0.11
.NET FROM gcr.io/google-appengine/aspnetcore:1.1.8
.NET FROM gcr.io/google-appengine/aspnetcore:2.0.7
.NET FROM gcr.io/google-appengine/aspnetcore:2.1.0

Ve 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 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 la versión nueva y, además, incluye el marcador --no-promote:

    gcloud app deploy .\bin\Debug\netcoreapp2.1\publish\app.yaml --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 visualizas sus registros en el Visor 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 previamente configurada para recibir tráfico.

  3. Cuando desees enviar tráfico a la nueva versión, usa Cloud Console 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 versiones y servicios específicos, consulta Enruta solicitudes.

Soluciona problemas

A continuación, se muestran algunos mensajes de error comunes que puedes encontrar cuando implementas aplicaciones:

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 requerida, el comando gcloud app deploy puede fallar cuando intenta 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
El proyecto de Cloud puede fallar si el app.yaml está mal configurado. Consulta los registros de la app para obtener mensajes de error más detallados.