Cómo implementar y probar tu aplicació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.

Cómo implementar tu aplicación

Implementa tu aplicación en App Engine con el comando 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, utiliza 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 manera predeterminada, el comando deploy genera automáticamente una versión de ID cada vez que lo usas y enrutará el tráfico a la nueva versión.

Para anular este comportamiento, puedes especificar la versión ID con la marca de 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 inmediatamente con la marca --no-promote:

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

Cómo ignorar archivos

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

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

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

Para compilar un contenedor de imágenes fuera de Google Cloud Platform, primero debes subirlas a un repositorio de imágenes de contenedor antes de poder implementar tus imágenes en App Engine con el comando 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 tu imagen en el marcador --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 utilizar la canalización 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 Cómo implementar artefactos y Cómo automatizar 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 hayas implementado tu aplicación en App Engine, puedes ejecutar el siguiente comando para iniciar tu navegador y verlo en http://YOUR_PROJECT_ID.appspot.com:

gcloud app browse

Cómo realizar pruebas en App Engine

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 el marcador --no-promote:

    gcloud app deploy .\bin\Debug\netcoreapp2.1\publish\app.yaml --no-promote
  2. Ingresa a la nueva versión desde la siguiente URL:

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

    Ahora puedes probar tu nueva versión en el entorno de ejecución de App Engine. Para depurar tu aplicación, visualiza los registros en el Visor de registros de Stackdriver de Google Cloud Platform Console. Para obtener más información, consulta Escribir registros de aplicaciones.

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

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

    Cómo administrar 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.

Solución de problemas

El siguiente es un mensaje de error común que puedes encontrar cuando implementas aplicaciones:

PERMISSION_DENIED: Operation not allowed
The "appengine.applications.create" permission is required.
Si el proyecto de GCP no incluye la aplicación de App Engine obligatoria, el comando gcloud app deploy puede fallar 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.