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.
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:
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 .
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 yw
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.
- Para un canal en vivo, use
Cuando clona una versión de un canal a otro canal en el mismo sitio de hospedaje, Firebase crea un nuevo objeto de lanzamiento que apunta exactamente a la misma versión . Verá dos versiones en su sitio de hospedaje que apuntan a la misma versión (identificada por el ID de la versión).
Sin embargo, si clona una versión a un canal en un sitio de hospedaje diferente (o un proyecto de Firebase diferente), Firebase crea tanto una nueva versión como una nueva versión (identificada por una ID de versión diferente).
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:
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.
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:
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.
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 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 \ | 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 \ | 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 |