Administra las versiones, las actualizaciones y los canales de vista previa y publicados de tu sitio

Firebase Hosting proporciona herramientas a través de Firebase console y Firebase CLI para administrar los canales, las versiones y las actualizaciones de tu sitio de Hosting.

Descripción general de la infraestructura de Hosting

Comprender la infraestructura de Hosting te ayudará a entender las opciones de administración que se describen en esta página.

Todos los proyectos de Firebase tienen un sitio de Hosting predeterminado que tiene acceso a todos los recursos del proyecto (bases de datos, autenticación, funciones, etcétera). Un sitio contiene uno o más canales, y cada canal está asociado con una URL que entrega contenido específico y una configuración de Hosting.

una imagen de la jerarquía de Firebase Hosting

Cada sitio de Hosting tiene un canal “publicado” que entrega contenido y una configuración de Hosting en (1) los subdominios del sitio aprovisionados por Firebase (SITE_ID.web.app y SITE_ID.firebaseapp.com) y en (2) todos los dominios personalizados que estén conectados. También puedes crear canales de “vista previa” que entreguen su propio contenido y configuración en “URLs de vista previa” que son temporales y se pueden compartir (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app).

El contenido y la configuración que entrega cada canal se empaquetan en un objeto version que tiene un identificador único. Cuando implementas en tu sitio, Firebase crea un objeto de actualización que apunta a una versión específica. Una actualización contiene metadatos sobre la implementación, como quién la realizó y cuándo.

Desde el panel de Hosting del proyecto de Firebase, puedes ver el historial completo de las actualizaciones de tu canal publicado en una tabla que contiene el Historial de actualizaciones. Si tienes varios sitios de Hosting, haz clic en Ver, en el sitio deseado para consultar su historial de actualizaciones. Si tienes canales de vista previa, también se muestran en el panel Hosting.

Administra la configuración de un canal

Puedes controlar la configuración de todos los canales de tu sitio. Algunas opciones, como el vencimiento, solo son aplicables a los canales de vista previa.

Limita la cantidad de actualizaciones que se conservan

Cada vez que implementas en un canal, y creas una actualización, Hosting conserva la versión asociada con la actualización anterior en el almacenamiento de Hosting del proyecto. Puedes configurar la cantidad de actualizaciones que se mantendrán por cada canal en tu proyecto, tanto en los canales publicados como en los de vista previa.

  • ¿Por qué Hosting conserva actualizaciones anteriores?
    Conservar actualizaciones anteriores del canal publicado te permite revertir a una versión anterior del sitio en caso de ser necesario. La reversión aún no está disponible para los canales de vista previa.

  • ¿Por qué se recomienda limitar la cantidad de actualizaciones que se deben conservar?
    Esta función puede ayudarte a controlar el nivel de uso del almacenamiento de Hosting de tu proyecto, ya que el contenido de actualizaciones anteriores se conserva en este almacenamiento. Puedes supervisar el almacenamiento de Hosting desde la pestaña Almacenamiento en la consola.

  • ¿Qué sucede cuando limitas las actualizaciones que se mantendrán?
    Cuando configuras un límite para la conservación de actualizaciones, el contenido de cualquier versión que exceda el límite definido se programará para borrarse, comenzando por las versiones más antiguas.

Aquí te mostramos cómo establecer el límite de almacenamiento de actualizaciones de un canal:

  1. En Firebase console, accede al cuadro de diálogo de configuración de almacenamiento de la versión:

    • Para el canal publicado
      En la tabla Historial de actualizaciones del sitio, haz clic en y, luego, selecciona Configuración de almacenamiento de actualizaciones.

    • Para cualquier canal de vista previa
      En la fila del canal de vista previa, haz clic en y, luego, selecciona Configuración del canal.

  2. Ingresa la cantidad de actualizaciones que deseas conservar y, luego, haz clic en Guardar.

Configura el vencimiento de un canal de vista previa

De forma predeterminada, un canal de vista previa vence 7 días a partir de la fecha de creación, pero el canal publicado de tu sitio nunca vencerá.

Cuando vence un canal de vista previa, se programa la eliminación del canal junto con sus actualizaciones asociadas en un plazo de 24 horas. También se desactiva la URL de vista previa asociada. Una excepción a esta eliminación de la versión ocurre si una versión está asociada a otra versión (por ejemplo, si clonas una versión de un canal a otro en el mismo sitio).

Hosting admite dos formas diferentes de controlar el vencimiento de un canal:

  • Firebase console
    En la fila del canal de vista previa, haz clic en y, luego, selecciona Configuración del canal. Ingresa la fecha y hora de vencimiento.

  • Firebase CLI
    Cuando realices implementaciones en tu canal de vista previa, pasa la marca --expires DURATION, por ejemplo:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    El vencimiento puede ser de hasta 30 días a partir de la fecha de implementación. Usa h para las horas, d para los días y w para las semanas (por ejemplo, 12h, 7dy 2w, respectivamente).

Clona una versión de un canal a otro

Puedes clonar una versión implementada de un canal a otro. Puedes clonar entre canales publicados o de vista previa, sitios de Hosting o incluso entre proyectos de Firebase.

El comando de clonación también implementa en el canal de “destino” para que el contenido y la configuración de Hosting clonados se entreguen automáticamente en la URL asociada del canal de “destino”.

Esta característica es útil para el seguimiento de versiones o si necesitas asegurarte de que estás implementando el contenido exacto que viste o probaste en otro canal. Estos son algunos ejemplos:

  • Clona desde un canal de vista previa de “QA” hacia el canal publicado de tu sitio.

  • Clona desde el canal publicado de tu sitio hacia un canal de vista previa de “depuración” (como antes de una reversión)

  • Clona desde un canal en tu proyecto de Firebase en “etapa de pruebas” hacia un canal de vista previa en tu proyecto de “producción” de Firebase

Para clonar una versión, ejecuta el siguiente comando desde cualquier directorio:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

Reemplaza cada marcador de posición por lo siguiente:

  • SOURCE_SITE_ID y TARGET_SITE_ID: Estos son los ID de los sitios de Hosting que contienen los canales.

    • En el sitio de Hosting predeterminado, usa el ID de tu proyecto de Firebase.
    • Puedes especificar sitios de Hosting que se encuentren en el mismo proyecto de Firebase o incluso en diferentes proyectos de Firebase.
  • SOURCE_CHANNEL_ID y TARGET_CHANNEL_ID: Estos son los identificadores de los canales.

    • Para un canal publicado, usa live como ID de canal.
    • Si el canal de “destino” especificado aún no existe, este comando crea el canal antes de implementarlo en él.

Revierte a una versión anterior del sitio

Puedes realizar una reversión para entregar una versión anterior del canal publicado de tu sitio. Esta acción es útil si la actualización tiene un problema y deseas revertirla para entregar una que funcione. O tal vez en el sitio se entregó contenido temporal para una festividad o un evento especial, pero ahora quieres revertirlo para entregar la versión “normal” del contenido.

Cuando realizas una reversión, se crea una actualización nueva que entrega la misma adaptación del contenido de una actualización anterior. En la tabla Historial de actualizaciones, las dos versiones incluirán el mismo identificador de versión.

A continuación, te mostramos cómo hacerlo:

  1. En la tabla Historial de actualizaciones de tu sitio en Firebase console, coloca el cursor sobre la entrada de la actualización anterior a la que quieres revertir.

  2. Haz clic en y, luego, selecciona Revertir.

Borra una actualización de forma manual

Es posible que debas borrar manualmente una actualización de tu canal publicado a fin de liberar almacenamiento de Hosting para tu proyecto. Solo puedes borrar las actualizaciones anteriores, no la que se entrega actualmente en tu sitio publicado.

Cuando borras una actualización, en realidad borras su contenido, el que se programa para borrarse en 24 horas. El objeto de la actualización se mantiene para que puedas seguir viendo sus metadatos (quién lo implementó y cuándo).

Aquí se muestra cómo borrar una actualización:

  1. En Firebase console, en la tabla Historial de actualizaciones de tu sitio, coloca el cursor sobre la entrada de la actualización anterior que deseas borrar.

  2. Haz clic en y, luego, selecciona Borrar.

Borra un canal de vista previa de forma manual

Haz clic en el canal del que quieres obtener una vista previa. Desde esta vista, puedes ver, borrar y revertir las implementaciones y actualizaciones más recientes que estén vinculadas al canal específico. Puedes borrar un canal de vista previa, pero no puedes borrar el canal publicado de tu sitio.

Cuando borras un canal de vista previa, el canal, junto con todas sus actualizaciones y versiones asociadas, se programan para su eliminación en un plazo de 24 horas. También se desactiva la URL de vista previa asociada. Una excepción a la eliminación de la versión es si una versión está asociada a otra versión (esto ocurre, por ejemplo, si clonas una versión de un canal a otro en el mismo sitio).

Hosting admite dos formas diferentes de borrar un canal de vista previa:

  • Firebase console
    En la fila del canal de vista previa, haz clic en y, luego, selecciona Borrar canal. Confirma la eliminación.

  • Firebase CLI
    Ejecuta el siguiente comando desde cualquier directorio:

    firebase hosting:channel:delete CHANNEL_ID

Comandos de la CLI para los canales de vista previa y la clonación

Comandos para los canales de vista previa

Todos los comandos para los canales de vista previa admiten destinos de implementación si tienes varios sitios de Hosting.

Comando Descripción
firebase hosting:channel:create CHANNEL_ID

Crea un nuevo canal de vista previa en el sitio de Hosting predeterminado con el CHANNEL_ID especificado.

Este comando no se implementa en el canal.

firebase hosting:channel:delete CHANNEL_ID

Borra el canal de vista previa especificado

No puedes borrar el canal publicado de un sitio.

firebase hosting:channel:deploy CHANNEL_ID

Implementa tu contenido y configuración de Hosting en el canal de vista previa especificado.

Si el canal de vista previa aún no existe, este comando lo crea en el sitio de Hosting predeterminado antes de implementarlo en el canal.

firebase hosting:channel:list Muestra todos los canales (incluido el canal "publicado") en el sitio de Hosting predeterminado.
firebase hosting:channel:open CHANNEL_ID Abre un navegador a la URL del canal especificado o muestra la URL si no se puede abrir en un navegador.

Comandos para la clonación de versiones

Comando Descripción
firebase hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

Clona la versión implementada más recientemente en el canal de “origen” especificado y la envía al canal de “destino” especificado.

Este comando también se implementa en el canal de “destino”. Si el canal de “destino” aún no existe, este comando crea un canal de vista previa nuevo en el sitio de Hosting de “destino”, antes de implementar en el canal.

firebase hosting:clone \
SOURCE_SITE_ID:@VERSION_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

Clona la versión especificada en el canal de “destino” especificado

Este comando también se implementa en el canal de “destino”. Si el canal de “destino” aún no existe, este comando crea un canal de vista previa nuevo en el sitio de Hosting de “destino”, antes de implementar en el canal.

Puedes encontrar el VERSION_ID en el panel Hosting de Firebase console.