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