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

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

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

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

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

изображение <span class= Иерархия хостинга Firebase" />

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

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

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

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

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

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

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

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

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

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

Вот как можно установить ограничение хранилища релизов для канала:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Команда клонирования также развертывается на «целевом» канале, чтобы клонированное содержимое Hosting и конфигурация автоматически обслуживались по связанному 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 : это идентификаторы Hosting сайтов, содержащих каналы.

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

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

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

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

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

Вот как выполнить откат:

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

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

Удаление релиза вручную

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

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

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

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

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

Удаление файлов вручную

В Firebase Hosting основным способом удаления выбранных файлов с развернутого сайта является локальное удаление файлов с последующим повторным развертыванием.

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

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

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

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

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

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

    firebase hosting:channel:delete CHANNEL_ID

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

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

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

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

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

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

firebase hosting:channel:delete CHANNEL_ID

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

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

firebase hosting:channel:deploy CHANNEL_ID

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

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

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

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

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

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

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

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

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

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

Вы можете найти VERSION_ID на панели Hosting консоли Firebase .