Administrar en vivo y Vista previa de canales, lanzamientos y versiones para su sitio.

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

Descripción general de la infraestructura de hosting

Comprender la infraestructura de hosting le ayuda a comprender las opciones de administración que se describen en esta página.

Cada proyecto de Firebase tiene un sitio de Hosting predeterminado con acceso a todos los recursos del proyecto (bases de datos, autenticación, funciones, etc.). Un sitio contiene uno o más canales , donde cada canal está asociado con una URL que sirve 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 "en vivo" que ofrece contenido y una configuración de Hosting en (1) los subdominios proporcionados por Firebase del sitio ( SITE_ID .web.app y SITE_ID .firebaseapp.com ) y (2) cualquier dominio personalizado conectado. Opcionalmente, también puede crear canales de "vista previa" que ofrezcan su propio contenido y configuración en "URL de vista previa" temporales y compartibles ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

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

Desde el panel de Hosting de tu proyecto de Firebase, puedes ver un historial completo de los lanzamientos de tu canal en vivo en una tabla de Historial de lanzamientos . Si tiene varios sitios de alojamiento , haga clic en Ver en el sitio deseado para ver su historial de lanzamientos. Si tiene canales de vista previa, también se muestran en el panel de Hosting.

Administrar la configuración de un canal

Para cada canal de su sitio, puede controlar su configuración. Algunas configuraciones, como la caducidad del canal, solo se aplican a los canales de vista previa.

Limitar el número de lanzamientos que se deben conservar

Cada vez que implementas en un canal (y creas una versión), Hosting mantiene la versión asociada con la versión anterior en el almacenamiento de Hosting de tu proyecto. Puede establecer la cantidad de lanzamientos que desea conservar para cada canal de su proyecto, tanto en vivo como en vista previa.

  • ¿Por qué Hosting conserva lanzamientos anteriores?
    Para su canal en vivo, conservar versiones anteriores le permite volver a una versión anterior de su sitio, si es necesario. Para sus canales de vista previa, la reversión aún no está disponible.

  • ¿Por qué limitar el número de versiones a conservar?
    Esta función puede ayudarle a controlar el nivel de uso del almacenamiento de Hosting de su proyecto , ya que el contenido de versiones anteriores se guarda en este almacenamiento. Puede monitorear el almacenamiento de su Hosting desde la pestaña Almacenamiento en la consola.

  • ¿Qué sucede cuando limitas las publicaciones a conservar?
    Cuando estableces un límite para conservar las versiones, se programa la eliminación del contenido de todas las versiones que superen el límite establecido, comenzando por las versiones más antiguas .

A continuación se explica cómo configurar el límite de almacenamiento de lanzamiento para un canal:

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

    • Para tu canal en vivo
      En la tabla Historial de versiones de su sitio, haga clic en y luego seleccione Configuración de almacenamiento de versiones .

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

  2. Ingrese la cantidad de versiones que desea conservar y luego haga clic en Guardar .

Establecer la caducidad de un canal de vista previa

De forma predeterminada, un canal de vista previa caduca a los 7 días de su fecha de creación, pero el canal en vivo de su sitio nunca caducará.

Cuando un canal de vista previa caduca, se programa la eliminación del canal, junto con sus lanzamientos y versiones asociadas, en un plazo de 24 horas. La URL de vista previa asociada también está desactivada. Una excepción a esta eliminación de versión es si una versión está asociada con otra versión (esto sucede, por ejemplo, si clona una versión de un canal a otro dentro del mismo sitio ).

Hosting admite dos formas diferentes de controlar la caducidad de un canal:

  • Consola de base de fuego
    En la fila del canal de vista previa, haga clic en y luego seleccione Configuración del canal . Ingrese la fecha y hora de vencimiento.

  • CLI de base de fuego
    Cuando implementes tu canal de vista previa, pasa el indicador --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. Utilice h para horas, d para días y w para semanas (por ejemplo, 12h , 7d , 2w , respectivamente).

Clonar una versión de un canal a otro

Puede clonar una versión implementada de un canal a otro canal diferente. Puedes clonar canales en vivo o de vista previa, sitios de hosting o incluso proyectos de Firebase.

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

Esta función es útil para el seguimiento de versiones o si desea estar seguro de que está implementando el contenido exacto que vio y/o probó en otro canal. Aquí hay unos ejemplos:

  • Clonar desde un canal de vista previa de "QA" al canal en vivo de su sitio (¡en vivo!)

  • Clonar desde el canal en vivo de su sitio a un canal de vista previa de "depuración" (como antes de una reversión)

  • Clona desde un canal en tu proyecto "ensayo" de Firebase a un canal de vista previa en tu proyecto "prod" de Firebase

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

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

Reemplace cada marcador de posición con lo siguiente:

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

    • Para su sitio de hosting predeterminado, use su ID de proyecto de Firebase.
    • Puede especificar sitios de Hosting que estén 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 en vivo, use live como ID del canal.
    • Si el canal "destino" especificado aún no existe, este comando crea el canal antes de implementarlo.

Retroceder a una versión anterior de su sitio

Puede retroceder para ofrecer una versión anterior del canal en vivo de su sitio. Esta acción es útil si su versión actual tiene un problema y desea retroceder para ofrecer una versión funcional conocida de su sitio. O tal vez su sitio ofreció contenido temporal para un día festivo o un evento especial, pero ahora desea retroceder para ofrecer su contenido "normal".

Al revertir, se crea una nueva versión que ofrece la misma versión de contenido que una versión anterior. En su tabla de historial de versiones , ambas versiones incluirán el mismo identificador de versión.

Aquí se explica cómo retroceder:

  1. En Firebase console , en la tabla Historial de versiones de tu sitio, coloca el cursor sobre la entrada de la versión anterior a la que deseas retroceder.

  2. Haga clic en y luego seleccione Revertir .

Eliminar manualmente una versión

Es posible que tengas que eliminar manualmente una versión de tu canal en vivo para liberar almacenamiento de Hosting para tu proyecto. Solo puede eliminar versiones anteriores, no la versión que se publica actualmente en su sitio en vivo.

Cuando eliminas una versión, en realidad estás eliminando su contenido, cuya eliminación está programada para un plazo de 24 horas. El objeto de lanzamiento en sí se conserva para que aún pueda ver sus metadatos (quién lo implementó y cuándo lo hizo).

A continuación se explica cómo eliminar una versión:

  1. En Firebase console , en la tabla Historial de versiones de tu sitio, coloca el cursor sobre la entrada de la versión anterior que deseas eliminar.

  2. Haga clic en y luego seleccione Eliminar .

Eliminar manualmente un canal de vista previa

Puede obtener una vista previa de sus canales haciendo clic en el canal que desea obtener una vista previa. Desde esta vista, puede ver, eliminar y revertir las implementaciones y versiones más recientes vinculadas al canal específico. Puede eliminar un canal de vista previa, pero no puede eliminar el canal en vivo de su sitio.

Cuando eliminas un canal de vista previa, se programa la eliminación del canal, junto con sus lanzamientos y versiones asociadas, en un plazo de 24 horas. La URL de vista previa asociada también está desactivada. Una excepción a la eliminación de versiones es si una versión está asociada con otra versión (esto sucede, por ejemplo, si clona una versión de un canal a otro dentro del mismo sitio ).

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

  • Consola de base de fuego
    En la fila del canal de vista previa, haga clic en y luego seleccione Eliminar canal . Confirma la eliminación.

  • CLI de base de fuego
    Ejecute el siguiente comando desde cualquier directorio:

    firebase hosting:channel:delete CHANNEL_ID

Comandos CLI para vista previa de canales y clonación

Comandos para canales de vista previa

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

Dominio Descripción
firebase hosting:channel:create CHANNEL_ID

Crea un nuevo canal de vista previa en el sitio de alojamiento predeterminado utilizando el CHANNEL_ID especificado

Este comando no se implementa en el canal.

firebase hosting:channel:delete CHANNEL_ID

Elimina el canal de vista previa especificado

No puede eliminar el canal en vivo de un sitio.

firebase hosting:channel:deploy CHANNEL_ID

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

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

firebase hosting:channel:list Enumera todos los canales (incluido el canal "en vivo") en el sitio de alojamiento predeterminado
firebase hosting:channel:open CHANNEL_ID Abre un navegador en la URL del canal especificado o devuelve la URL si no es posible abrir en un navegador

Comandos para clonación de versiones

Dominio 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 "origen" especificado en el canal "destino" especificado

Este comando también se implementa en el canal "destino" especificado. Si el canal "destino" aún no existe, este comando crea un nuevo canal de vista previa en el sitio de alojamiento "destino" antes de implementarlo 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 "destino" especificado

Este comando también se implementa en el canal "destino" especificado. Si el canal "destino" aún no existe, este comando crea un nuevo canal de vista previa en el sitio de alojamiento "destino" antes de implementarlo en el canal.

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