Administrar lanzamientos y versiones

Si tienes habilitados los lanzamientos automáticos, cada vez que envíes una confirmación nueva a la rama activa de tu repositorio de GitHub, App Hosting lanzará automáticamente una versión nueva de tu app. Puedes verificar el estado del lanzamiento en la consola de Firebase o en la verificación de GitHub de App Hosting.

Además, App Hosting admite lanzamientos activados de forma manual para la integración de CI/CD o cualquier otro caso en el que desees forzar un lanzamiento.

Cómo ver los lanzamientos

La consola de Firebase proporciona acceso a información detallada sobre todos los lanzamientos de tu app. En la pestaña App Hosting, selecciona Ver panel para el backend cuyos lanzamientos deseas ver. El panel muestra información sobre el lanzamiento actual, junto con una tabla que indica el historial de todos los lanzamientos de este backend.

Captura de pantalla de la vista de lanzamientos de la consola

Cada lanzamiento contiene una confirmación de git, un trabajo Cloud Build y una revisión Cloud Run.

  • La confirmación de Git es la instantánea de tu repositorio en el momento en que se crea el lanzamiento.
  • El trabajo Cloud Build es el entorno de compilación en el que App Hosting ejecuta el comando de compilación de tu app. Para acceder a los registros de Cloud Build, haz clic en el ID de compilación en Firebase console.
  • La revisión Cloud Run es el entorno de ejecución de tu app web. Para obtener más información sobre la configuración del entorno de ejecución de un lanzamiento (como los límites de CPU y memoria, y las variables de entorno), haz clic en el menú de tres puntos y selecciona Ver revisión Cloud Run.

Cómo activar un lanzamiento de forma manual

Si deseas activar manualmente un lanzamiento desde tu fuente de GitHub sin enviar una confirmación nueva, puedes crear un lanzamiento desde la consola de Firebase o la CLI de Firebase. Esto es útil en casos como los siguientes:

  • Forzar la regeneración de contenido estático
  • Permitir que un sistema de CI/CD active lanzamientos
  • Limitar los lanzamientos de producción a fechas o horas específicas

Para activar un lanzamiento en Firebase console, sigue estos pasos:

  1. En la pestaña App Hosting, selecciona Ver panel para el backend para el que deseas crear un lanzamiento.
  2. En el panel de backend, selecciona Crear lanzamiento.
  3. Selecciona la rama que quieres implementar.
  4. Selecciona la confirmación que deseas implementar, ya sea la más reciente o una anterior, según su ID de confirmación.
  5. Seleccione Crear. El estado y un número de compilación del lanzamiento se muestran en la tabla de historial de lanzamientos. Cuando se completa el proceso de lanzamiento, este se muestra como el lanzamiento actual.

Para activar un lanzamiento en la CLI de Firebase, ejecuta el siguiente comando y selecciona la rama para el lanzamiento cuando se te solicite:

firebase apphosting:rollouts:create BACKEND_ID

Como alternativa, puedes iniciar una implementación para la confirmación más reciente de una rama específica con la opción --git-branch:

firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME

También puedes crear un lanzamiento con una confirmación específica mediante la opción --git-commit:

firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID

Cómo restablecer un lanzamiento anterior

App Hosting te ofrece dos opciones para restablecer un lanzamiento anterior:

  • Revierte al instante sin volver a compilar
  • Vuelve a compilar y revierte a una versión anterior

Cómo crear una reversión instantánea

En ocasiones, es posible que debas volver rápidamente a una versión anterior de tu app, por ejemplo, si descubriste un error crítico en un lanzamiento implementado recientemente o si experimentas una compilación inestable que bloquea los lanzamientos nuevos. En esos casos, puedes restablecer una imagen de contenedor existente de tu elección desde un lanzamiento anterior. Esta imagen no se vuelve a compilar, pero usa el código y la configuración del entorno de la primera compilación.

Para crear una reversión instantánea, sigue estos pasos:

  1. En la pestaña Hosting de apps, selecciona Ver panel para el backend para el que deseas crear una reversión.
  2. En la tabla Historial de lanzamiento del backend, selecciona el menú de tres puntos de una compilación anterior.
  3. Selecciona Revertir a esta compilación y confirma tu decisión.

Vuelve a compilar y revierte

Si quieres volver a una versión anterior de tu app, pero aún quieres conservar la configuración actual, puedes volver a compilar la app como parte del proceso de reversión. Por ejemplo, si tu versión más reciente actualizó un valor de clave de API en Secret Manager, la compilación nueva puede garantizar que se use la clave nueva en tu app después de la reversión.

Para volver a compilar y revertir, haz lo siguiente:

  1. En la pestaña Hosting de apps, selecciona Ver panel para el backend para el que deseas crear una reversión.
  2. Selecciona Crear lanzamiento.
  3. En el cuadro de diálogo Crear un lanzamiento, marca Comit anterior y, luego, ingresa el ID de confirmación de la versión a la que deseas volver a compilar y a la que deseas volver. El ID de confirmación forma parte de los "Detalles del cambio" de cada lanzamiento que aparece en el historial de lanzamientos,que se encuentra entre paréntesis en la etiqueta.
  4. Selecciona Crear para comenzar la reversión.

Cambia la configuración del lanzamiento

Puedes cambiar la rama publicada para los lanzamientos y habilitar o inhabilitar los lanzamientos automáticos con los controles de la vista Configuración > Implementación en el panel de un backend.

  1. En la pestaña App Hosting, selecciona Ver panel para el backend en el que deseas actualizar la configuración del lanzamiento.
  2. En el panel del backend, selecciona Configuración. La vista predeterminada muestra información sobre los dominios y los dominios personalizados.
  3. Selecciona la vista Deployment. En esta vista, puedes cambiar la rama publicada para los lanzamientos y habilitar o inhabilitar los lanzamientos automáticos. Además, hay opciones para configurar el directorio raíz de la app y el entorno para el backend (consulta Cómo implementar en varios entornos).