Firebase Hosting предоставляет инструменты как через консоль Firebase , так и через Firebase CLI для управления каналами, релизами и версиями вашего сайта Hosting .
Обзор инфраструктуры Hosting
Понимание инфраструктуры Hosting поможет вам разобраться в вариантах управления, описанных на этой странице.
У каждого проекта Firebase есть сайт Hosting по умолчанию с доступом ко всем ресурсам проекта (базам данных, аутентификации, функциям и т. д.). Сайт содержит один или несколько каналов , каждый из которых связан с URL-адресом, обслуживающим определённый контент, и конфигурацией Hosting .
Иерархия хостинга 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 на вкладке «Хранилище» в консоли.Что произойдет, если ограничить количество сохраняемых релизов?
Если вы устанавливаете лимит на количество хранимых релизов, содержимое любых релизов, превышающих установленный лимит, будет удалено, начиная с самых старых релизов .
Вот как установить лимит хранения релизов для канала:
В консоли Firebase откройте диалоговое окно настроек хранилища релизов:
Для вашего прямого эфира
В таблице «История выпусков» для вашего сайта нажмите , затем выберите Настройки хранилища выпусков .Для любого канала предварительного просмотра
В строке предварительного просмотра канала нажмите , затем выберите Настройки канала .
Введите количество релизов, которые вы хотите сохранить, затем нажмите кнопку Сохранить .
Установить срок действия предварительного просмотра канала
По умолчанию срок действия канала предварительного просмотра истекает через 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
в качестве идентификатора канала. - Если указанный «целевой» канал еще не существует, эта команда создает канал перед развертыванием на нем.
- Для прямого эфира используйте
При клонировании версии из одного канала в другой на том же сайте Hosting Firebase создаёт новый объект релиза, указывающий на ту же самую версию . На сайте Hosting вы увидите два релиза, указывающих на одну и ту же версию (что определяется по идентификатору версии).
Однако если вы клонируете версию на канал на другом сайте Hosting (или в другом проекте Firebase), Firebase создает как новый релиз, так и новую версию (что идентифицируется другим идентификатором версии).
Вернитесь к предыдущей версии вашего сайта
Вы можете вернуться к предыдущей версии живого канала вашего сайта. Это полезно, если в текущей версии возникли проблемы и вы хотите вернуться к заведомо рабочей версии сайта. Или, возможно, ваш сайт показывал временный контент к празднику или особому событию, а теперь вы хотите вернуться к «обычному» контенту.
Откатившись, вы создаёте новый релиз, содержащий ту же версию контента, что и предыдущий. В таблице «История релизов» оба релиза будут иметь одинаковый идентификатор версии.
Вот как выполнить откат:
В консоли Firebase , в таблице «История релизов» для вашего сайта, наведите указатель мыши на предыдущую запись релиза, к которой вы хотите вернуться.
Нажмите
, затем выберите Откатить .
Удалить релиз вручную
Возможно, вам придётся вручную удалить релиз из вашего канала прямой трансляции, чтобы освободить место Hosting для вашего проекта. Вы можете удалить только предыдущие релизы, но не релиз, который в данный момент транслируется на вашем сайте.
Удаляя релиз, вы фактически удаляете его содержимое, которое должно быть удалено в течение 24 часов. Сам объект релиза сохраняется, поэтому вы по-прежнему можете видеть его метаданные (кто и когда развернул релиз).
Вот как удалить релиз:
В консоли Firebase , в таблице «История релизов» для вашего сайта наведите указатель мыши на предыдущую запись релиза, которую вы хотите удалить.
Нажмите
, затем выберите Удалить .
Удалить файлы вручную
В Firebase Hosting основным способом удаления выбранных файлов с развернутого сайта является локальное удаление файлов с последующим повторным развертыванием.
Удалить канал предварительного просмотра вручную
Вы можете предварительно просмотреть свои каналы, нажав на нужный канал. В этом представлении вы можете просматривать, удалять и откатывать последние развёртывания и выпуски, привязанные к конкретному каналу. Вы можете удалить канал предварительного просмотра, но не можете удалить канал прямого эфира вашего сайта.
При удалении канала предварительного просмотра он, вместе со всеми его релизами и связанными с ним версиями, будет удален в течение 24 часов. Связанный URL-адрес предварительного просмотра также деактивируется. Исключением из правила удаления версии является случай, когда версия связана с другим релизом (например, при клонировании версии из одного канала в другой в пределах одного сайта ).
Hosting поддерживает два разных способа удаления канала предварительного просмотра:
Консоль Firebase
В строке предварительного просмотра канала нажмите и выберите «Удалить канал» . Подтвердите удаление.Firebase CLI
Выполните следующую команду из любого каталога:firebase hosting:channel:delete CHANNEL_ID
Команды CLI для предварительного просмотра каналов и клонирования
Команды для предварительного просмотра каналов
Все команды для каналов предварительного просмотра поддерживают развертывание целей, если у вас несколько сайтов Hosting .
Команда | Описание |
---|---|
firebase hosting:channel:create CHANNEL_ID | Создает новый канал предварительного просмотра на сайте Hosting по умолчанию, используя указанный Эта команда не развертывается в канале. |
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 \ | Клонирует последнюю развернутую версию на указанном «исходном» канале в указанный «целевой» канал. Эта команда также выполняет развёртывание на указанном целевом канале. Если целевой канал ещё не существует, эта команда создаёт новый канал предварительного просмотра на целевом сайте Hosting перед развёртыванием на этом канале. |
firebase hosting:clone \ | Клонирует указанную версию в указанный «целевой» канал. Эта команда также выполняет развёртывание на указанном целевом канале. Если целевой канал ещё не существует, эта команда создаёт новый канал предварительного просмотра на целевом сайте Hosting перед развёртыванием на этом канале. Вы можете найти |