Управляйте живыми и предварительными каналами, выпусками и версиями для вашего сайта

Firebase Hosting предоставляет инструменты как через консоль Firebase, так и через интерфейс командной строки Firebase для управления каналами, выпусками и версиями вашего сайта хостинга.

Обзор инфраструктуры хостинга

Понимание инфраструктуры хостинга поможет вам понять варианты управления, описанные на этой странице.

У каждого проекта Firebase есть сайт хостинга по умолчанию с доступом ко всем ресурсам проекта (базам данных, аутентификации, функциям и т. д.). Сайт содержит один или несколько каналов , где каждый канал связан с URL-адресом, обслуживающим определенный контент, и конфигурацией хостинга.

изображение иерархии Firebase Hosting

У каждого сайта хостинга есть «живой» канал, который обслуживает контент и конфигурацию хостинга на (1) субдоменах сайта, предоставленных Firebase ( SITE_ID .web.app и SITE_ID .firebaseapp.com ) и (2) любых подключенных пользовательских доменах . Вы также можете дополнительно создавать «предварительные» каналы, которые обслуживают свой собственный контент и конфигурацию по временным общедоступным «предварительным URL-адресам» ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

Содержимое и конфигурация, обслуживаемые каждым каналом, упаковываются в объект версии с уникальным идентификатором. Когда вы выполняете развертывание на своем сайте, Firebase создает объект выпуска , который указывает на определенную версию. Релиз содержит метаданные о развертывании, например о том, кто и когда развертывал.

На панели управления хостингом вашего проекта Firebase вы можете увидеть полную историю выпусков вашего живого канала в таблице истории выпусков. Если у вас есть несколько хостинговых сайтов , нажмите « Просмотр » для нужного сайта, чтобы просмотреть историю его выпусков. Если у вас есть каналы предварительного просмотра, они также отображаются на панели управления хостингом.

Управление настройками канала

Для каждого канала вашего сайта вы можете управлять его настройками. Некоторые настройки, такие как истечение срока действия канала, применимы только к каналам предварительного просмотра.

Ограничьте количество выпусков, чтобы сохранить

Каждый раз, когда вы выполняете развертывание на канале (и создаете выпуск), Hosting сохраняет версию, связанную с предыдущим выпуском, в хранилище Hosting вашего проекта. Вы можете установить количество выпусков для каждого канала в вашем проекте, как для живых каналов, так и для каналов предварительного просмотра.

  • Почему Hosting сохраняет предыдущие выпуски?
    Для вашего живого канала сохранение предыдущих выпусков позволяет при необходимости вернуться к предыдущей версии вашего сайта. Для ваших каналов предварительного просмотра откат пока недоступен.

  • Зачем ограничивать количество сохраняемых релизов?
    Эта функция может помочь вам контролировать уровень использования хранилища хостинга вашего проекта , так как содержимое предыдущих выпусков хранится в этом хранилище. Вы можете контролировать свое хранилище хостинга на вкладке «Хранилище» в консоли.

  • Что происходит, когда вы ограничиваете выпуски, чтобы сохранить?
    Когда вы устанавливаете ограничение на количество сохраняемых выпусков, содержимое всех выпусков сверх установленного лимита планируется удалить, начиная с самых старых выпусков .

Вот как установить лимит хранилища для выпуска для канала:

  1. В консоли Firebase откройте диалоговое окно настройки хранилища выпуска:

    • Для вашего живого канала
      В таблице « История выпусков» для вашего сайта нажмите » и выберите « Освободить настройки хранилища ».

    • Для любого канала предварительного просмотра
      В строке канала предварительного просмотра нажмите , затем выберите Настройки канала .

  2. Введите количество выпусков, которые вы хотите сохранить, и нажмите « Сохранить » .

Установите срок действия канала предварительного просмотра

По умолчанию срок действия канала предварительного просмотра истекает через 7 дней с даты его создания, но срок действия живого канала вашего сайта никогда не истекает.

Когда срок действия канала предварительного просмотра истекает, канал вместе с его выпусками и связанными версиями планируется удалить в течение 24 часов. Связанный URL-адрес предварительного просмотра также деактивируется. Исключением из этого удаления версии является ситуация, когда версия связана с другим выпуском (это происходит, например, если вы клонируете версию из одного канала в другой в рамках одного и того же сайта ).

Хостинг поддерживает два разных способа контроля истечения срока действия канала:

  • Консоль Firebase
    В строке канала предварительного просмотра нажмите , затем выберите Настройки канала . Введите дату и время истечения срока действия.

  • Интерфейс командной строки Firebase
    При развертывании на канале предварительного просмотра передайте флаг --expires DURATION , например:

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

    Срок действия может составлять до 30 дней с даты развертывания. Используйте h для часов, d для дней и w для недель (например, 12h , 7d , 2w соответственно).

Клонировать версию с одного канала на другой

Вы можете клонировать развернутую версию с одного канала на другой. Вы можете клонировать живые или предварительные каналы, сайты хостинга или даже проекты Firebase.

Команда clone также развертывается на «целевом» канале, чтобы клонированный контент и конфигурация хостинга автоматически обслуживались по связанному URL-адресу «целевого» канала.

Эта функция полезна для отслеживания версий или если вы хотите быть уверенными, что развертываете именно тот контент, который вы просматривали и/или тестировали на другом канале. Вот некоторые примеры:

  • Клонируйте канал предварительного просмотра «QA» на канал вашего сайта в реальном времени (будет запущен!)

  • Клонировать с живого канала вашего сайта на канал предварительного просмотра «отладки» (как перед откатом)

  • Клонируйте канал в вашем «постановочном» проекте Firebase на канал предварительного просмотра в вашем «рабочем» проекте Firebase.

Чтобы клонировать версию, выполните следующую команду из любого каталога:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

Замените каждый заполнитель следующим:

  • SOURCE_SITE_ID и TARGET_SITE_ID : это идентификаторы хостинговых сайтов, которые содержат каналы.

    • В качестве сайта хостинга по умолчанию используйте идентификатор проекта Firebase.
    • Вы можете указать сайты хостинга, которые находятся в одном проекте Firebase или даже в разных проектах Firebase.
  • SOURCE_CHANNEL_ID и TARGET_CHANNEL_ID : это идентификаторы каналов.

    • Для живого канала используйте live в качестве идентификатора канала.
    • Если указанный «целевой» канал еще не существует, эта команда создает канал перед развертыванием на нем.

Откат к предыдущей версии вашего сайта

Вы можете вернуться к предыдущей версии живого канала вашего сайта. Это действие полезно, если в текущем выпуске есть проблема, и вы хотите выполнить откат, чтобы обслуживать известную рабочую версию вашего сайта. Или, возможно, ваш сайт размещал временный контент для праздника или особого события, но теперь вы хотите вернуться к показу своего «обычного» контента.

Откатываясь, вы создаете новую версию, которая обслуживает ту же версию контента, что и предыдущая версия. В таблице истории выпусков в обоих выпусках будет указан один и тот же идентификатор версии.

Вот как откатиться:

  1. В консоли Firebase в таблице « История выпусков» для вашего сайта наведите указатель мыши на запись предыдущего выпуска, к которому вы хотите вернуться.

  2. Нажмите , затем выберите Откат .

Удаление выпуска вручную

Возможно, вам придется вручную удалить выпуск из вашего живого канала, чтобы освободить место на хостинге для вашего проекта. Вы можете удалить только предыдущие выпуски, но не выпуск, который в настоящее время обслуживается на вашем активном сайте.

Когда вы удаляете выпуск, вы фактически удаляете его содержимое, которое планируется удалить в течение 24 часов. Сам объект выпуска сохраняется, поэтому вы можете видеть его метаданные (кто и когда развернул).

Вот как удалить выпуск:

  1. В консоли Firebase в таблице « История выпусков» для вашего сайта наведите указатель мыши на запись предыдущего выпуска, которую вы хотите удалить.

  2. Нажмите , затем выберите Удалить .

Вручную удалить канал предварительного просмотра

Вы можете удалить канал предварительного просмотра, но не можете удалить прямой канал своего сайта.

Когда вы удаляете канал предварительного просмотра, этот канал вместе с его выпусками и связанными версиями планируется удалить в течение 24 часов. Связанный URL-адрес предварительного просмотра также деактивируется. Исключением для удаления версии является ситуация, когда версия связана с другим выпуском (это происходит, например, если вы клонируете версию с одного канала на другой в пределах одного сайта ).

Хостинг поддерживает два разных способа удаления канала предварительного просмотра:

  • Консоль Firebase
    В строке канала предварительного просмотра нажмите , затем выберите Удалить канал . Подтвердите удаление.

  • Интерфейс командной строки Firebase
    Запустите следующую команду из любого каталога:

    firebase hosting:channel:delete CHANNEL_ID

Команды CLI для предварительного просмотра каналов и клонирования

Команды для просмотра каналов

Все команды для каналов предварительного просмотра поддерживают цели развертывания, если у вас несколько хостинговых сайтов .

Команда Описание
firebase hosting:channel:create CHANNEL_ID

Создает новый канал предварительного просмотра на сайте хостинга по умолчанию , используя указанный CHANNEL_ID

Эта команда не развертывается в канале.

firebase hosting:channel:delete CHANNEL_ID

Удаляет указанный канал предварительного просмотра

Вы не можете удалить прямой канал сайта.

firebase hosting:channel:deploy CHANNEL_ID

Развертывает ваш контент и конфигурацию хостинга на указанном канале предварительного просмотра.

Если канал предварительного просмотра еще не существует, эта команда создает канал на сайте размещения по умолчанию перед развертыванием на канале.

firebase hosting:channel:list Список всех каналов (включая «живой» канал) на сайте хостинга по умолчанию .
firebase hosting:channel:open CHANNEL_ID Открывает браузер по указанному URL-адресу канала или возвращает URL-адрес, если открытие в браузере невозможно

Команды для клонирования версий

Команда Описание
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Клонирует самую последнюю развернутую версию на указанном «исходном» канале на указанный «целевой» канал.

Эта команда также развертывается на указанном «целевом» канале. Если «целевой» канал еще не существует, эта команда создает новый канал предварительного просмотра на «целевом» хостинг-сайте перед развертыванием на канале.

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

Клонирует указанную версию на указанный «целевой» канал.

Эта команда также развертывается на указанном «целевом» канале. Если «целевой» канал еще не существует, эта команда создает новый канал предварительного просмотра на «целевом» хостинг-сайте перед развертыванием на канале.

Вы можете найти VERSION_ID на панели управления хостингом консоли Firebase.