Administre canales, lanzamientos y versiones en vivo y de vista previa para su sitio

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

Descripción general de la infraestructura de alojamiento

Comprender la infraestructura de hospedaje lo ayuda a comprender las opciones de administración descritas 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 hospedaje tiene un canal "en vivo" que sirve contenido y una configuración de hospedaje en (1) los subdominios provistos 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 sirvan 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 servidos por cada canal se empaquetan en un objeto de versión que tiene un identificador único. Cuando implementa en su 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 la implementó.

Desde el panel de Hosting de su proyecto de Firebase, puede ver un historial completo de los lanzamientos de su canal en vivo en una tabla de Historial de lanzamientos . Si tiene varios sitios de alojamiento , haga clic en Ver para el sitio deseado para ver su historial de lanzamiento. 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.

Limite el número de lanzamientos para mantener

Cada vez que implementa en un canal (y crea un lanzamiento), Hosting mantiene la versión asociada con el lanzamiento anterior en el almacenamiento de Hosting de su proyecto. Puede establecer la cantidad de lanzamientos para mantener para cada canal en su proyecto, tanto canales en vivo como de vista previa.

  • ¿Por qué Hosting mantiene lanzamientos anteriores?
    Para su canal en vivo, mantener las 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 lanzamientos a mantener?
    Esta característica puede ayudarlo a controlar el nivel de uso del almacenamiento de Hosting de su proyecto , ya que el contenido de las versiones anteriores se mantiene en este almacenamiento. Puede monitorear su almacenamiento de Hosting desde la pestaña Almacenamiento en la consola.

  • ¿Qué sucede cuando limitas los lanzamientos para mantener?
    Cuando establece un límite para que se mantengan los lanzamientos, el contenido de cualquier lanzamiento que exceda el límite establecido se programa para su eliminación, comenzando con los lanzamientos más antiguos primero .

Aquí se explica cómo configurar el límite de almacenamiento de versiones para un canal:

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

    • Para tu canal en vivo
      En la tabla Historial de versiones de su sitio, haga clic en y, a continuación, 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. Ingresa la cantidad de lanzamientos que te gustaría conservar y luego haz clic en Guardar .

Establecer la caducidad de un canal de vista previa

De manera 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 caduca.

Cuando vence un canal de vista previa, el canal, junto con sus lanzamientos y versiones asociadas, se programan para su eliminación dentro de las 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 otro lanzamiento (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 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 la hora de vencimiento.

  • CLI de base de fuego
    Cuando implemente en su canal de vista previa, pase el --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. Use 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. Puede clonar en canales en vivo o de vista previa, en sitios de alojamiento o incluso en proyectos de Firebase.

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

Esta característica es útil para el seguimiento de versiones o si quiere estar seguro de que está implementando el contenido exacto que ha visto y/o probado en otro canal. Aquí hay unos ejemplos:

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

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

  • Clone desde un canal en su proyecto de Firebase "en preparación" a un canal de vista previa en su proyecto de Firebase "prod"

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 hospedaje predeterminado, use su ID de proyecto de Firebase.
    • Puede especificar sitios de hospedaje 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 de canal.
    • Si el canal "objetivo" especificado aún no existe, este comando crea el canal antes de implementarlo.

Volver a una versión anterior de su sitio

Puede retroceder para mostrar 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 de trabajo conocida de su sitio. O tal vez su sitio sirvió contenido temporal para un día festivo o un evento especial, pero ahora desea retroceder para mostrar su contenido "regular".

Al retroceder, 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 su sitio, desplace el cursor sobre la entrada de la versión anterior a la que desea volver.

  2. Haga clic , luego seleccione Revertir .

Eliminar manualmente un lanzamiento

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

Cuando elimina un lanzamiento, en realidad está eliminando su contenido, que está programado para eliminarse dentro de las 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 implementó).

Aquí se explica cómo eliminar una versión:

  1. En Firebase console , en la tabla Historial de versiones de su sitio, desplace el cursor sobre la entrada de la versión anterior que desea eliminar.

  2. Haga clic , luego seleccione Eliminar .

Eliminar manualmente un canal de vista previa

Puede eliminar un canal de vista previa, pero no puede eliminar el canal en vivo de su sitio.

Cuando elimina un canal de vista previa, el canal, junto con sus lanzamientos y versiones asociadas, se programan para eliminarse dentro de las 24 horas. La URL de vista previa asociada también está desactivada. Una excepción a la eliminación de versión es si una versión está asociada con otro lanzamiento (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 base de fuego
    En la fila del canal de vista previa, haga clic en y luego seleccione Eliminar canal . Confirme la eliminación.

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

    firebase hosting:channel:delete CHANNEL_ID

Comandos CLI para canales de vista previa y clonación

Comandos para canales de vista previa

Todos los comandos para los canales de vista previa admiten objetivos 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 su 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 crea el canal en el sitio de hospedaje 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 a la URL del canal especificado o devuelve la URL si no es posible abrir en un navegador

Comandos para la 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 de "origen" especificado al canal de "destino" especificado

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

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

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