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

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

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

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

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

изображение иерархии хостинга Firebase

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Нажмите , затем выберите ВСПЯТЬ.

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

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

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

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

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

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

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

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

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

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

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

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

    firebase hosting:channel:delete CHANNEL_ID

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

Команды для превью каналов

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

Командование Описание
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.