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

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

Обзор инфраструктуры 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 CLI
    При развертывании в канале предварительного просмотра передайте флаг --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. Нажмите , затем выберите Delete .

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

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

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

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

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

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

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

  • Firebase CLI
    Выполните следующую команду из любой директории:

    firebase hosting:channel:delete CHANNEL_ID

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

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

Все команды для каналов предварительного просмотра поддерживают цели развертывания, если у вас несколько 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 .