Справочник по интерфейсу командной строки Firebase

Интерфейс командной строки Firebase ( GitHub ) предоставляет множество инструментов для управления, просмотра и развертывания в проектах Firebase.

Прежде чем использовать Firebase CLI, настройте проект Firebase .

Настройте или обновите CLI

Установите интерфейс командной строки Firebase

Вы можете установить Firebase CLI, используя метод, соответствующий вашей операционной системе, уровню опыта и/или варианту использования. Независимо от того, как вы устанавливаете CLI, у вас есть доступ к тем же функциям и командам firebase .

Windows macOS Linux

Окна

Вы можете установить Firebase CLI для Windows, используя один из следующих вариантов:

Вариант Описание Рекомендуется для...
автономный двоичный файл Загрузите автономный двоичный файл для CLI. Затем вы можете получить доступ к исполняемому файлу, чтобы открыть оболочку, в которой вы можете запустить команду firebase . Новые разработчики

Разработчики, не использующие Node.js или незнакомые с ним.
НПМ Используйте npm (диспетчер пакетов узлов), чтобы установить CLI и включить глобально доступную команду firebase . Разработчики, использующие Node.js

автономный двоичный файл

Чтобы загрузить и запустить двоичный файл Firebase CLI, выполните следующие действия:

  1. Загрузите двоичный файл Firebase CLI для Windows .

  2. Получите доступ к двоичному файлу, чтобы открыть оболочку, в которой вы можете запустить команду firebase .

  3. Продолжайте авторизоваться и тестировать CLI .

НПМ

Чтобы использовать npm (диспетчер пакетов узлов) для установки Firebase CLI, выполните следующие действия:

  1. Установите Node.js с помощью nvm-windows (диспетчера версий узла). При установке Node.js автоматически устанавливаются командные инструменты npm .

  2. Установите Firebase CLI через npm выполнив следующую команду:

    npm install -g firebase-tools

    Эта команда включает глобально доступную команду firebase .

  3. Продолжайте авторизоваться и тестировать CLI .

macOS или Linux

Вы можете установить Firebase CLI для macOS или Linux, используя один из следующих вариантов:

Вариант Описание Рекомендуется для...
скрипт автоматической установки Запустите одну команду, которая автоматически определит вашу операционную систему, загрузит последнюю версию CLI, а затем активирует глобально доступную команду firebase . Новые разработчики

Разработчики, не использующие Node.js или незнакомые с ним.

Автоматизированное развертывание в среде CI/CD
автономный двоичный файл Загрузите автономный двоичный файл для CLI. Затем вы можете настроить и запустить двоичный файл в соответствии с вашим рабочим процессом. Полностью настраиваемые рабочие процессы с помощью CLI
НПМ Используйте npm (диспетчер пакетов узлов), чтобы установить CLI и включить глобально доступную команду firebase . Разработчики, использующие Node.js

скрипт автоматической установки

Чтобы установить Firebase CLI с помощью сценария автоматической установки, выполните следующие действия:

  1. Запустите следующую команду cURL:

    curl -sL https://firebase.tools | bash

    Этот скрипт автоматически определяет вашу операционную систему, загружает последнюю версию Firebase CLI, а затем включает глобально доступную команду firebase .

  2. Продолжайте авторизоваться и тестировать CLI .

Дополнительные примеры и подробную информацию о сценарии автоматической установки см. в исходном коде сценария по адресу firebase.tools .

автономный двоичный файл

Чтобы загрузить и запустить двоичный файл Firebase CLI, специфичный для вашей ОС, выполните следующие действия:

  1. Загрузите двоичный файл Firebase CLI для вашей ОС: macOS | Линукс

  2. (Необязательно) Настройте глобально доступную команду firebase .

    1. Сделайте двоичный исполняемый файл, запустив chmod +x ./firebase_tools .
    2. Добавьте путь к двоичному файлу в свой PATH.
  3. Продолжайте авторизоваться и тестировать CLI .

НПМ

Чтобы использовать npm (диспетчер пакетов узлов) для установки Firebase CLI, выполните следующие действия:

  1. Установите Node.js с помощью nvm (менеджера версий узла).
    При установке Node.js автоматически устанавливаются командные инструменты npm .

  2. Установите Firebase CLI через npm выполнив следующую команду:

    npm install -g firebase-tools

    Эта команда включает глобально доступную команду firebase .

  3. Продолжайте авторизоваться и тестировать CLI .

Войдите в систему и протестируйте Firebase CLI.

После установки CLI необходимо пройти аутентификацию. Затем вы можете подтвердить аутентификацию, перечислив свои проекты Firebase.

  1. Войдите в Firebase, используя свою учетную запись Google, выполнив следующую команду:

    firebase login

    Эта команда подключает ваш локальный компьютер к Firebase и предоставляет вам доступ к вашим проектам Firebase.

  2. Проверьте, что CLI правильно установлен и имеет доступ к вашей учетной записи, перечислив свои проекты Firebase. Выполните следующую команду:

    firebase projects:list

    Отображаемый список должен быть таким же, как проекты Firebase, перечисленные в консоли Firebase .

Обновите CLI до последней версии.

Как правило, вы хотите использовать самую последнюю версию Firebase CLI.

Способ обновления версии CLI зависит от вашей операционной системы и способа установки CLI.

Окна

  • автономный двоичный файл : загрузите новую версию , затем замените ее в своей системе.
  • npm : запустить npm install -g firebase-tools

macOS

  • сценарий автоматической установки : запустите curl -sL https://firebase.tools | upgrade=true bash
  • автономный двоичный файл : загрузите новую версию , затем замените ее в своей системе.
  • npm : запустить npm install -g firebase-tools

Линукс

  • сценарий автоматической установки : запустите curl -sL https://firebase.tools | upgrade=true bash
  • автономный двоичный файл : загрузите новую версию , затем замените ее в своей системе.
  • npm : запустить npm install -g firebase-tools

Используйте CLI с системами CI

Firebase CLI требуется браузер для завершения аутентификации, но CLI полностью совместим с CI и другими автономными средами.

  1. На компьютере с браузером установите Firebase CLI .

  2. Запустите процесс входа, выполнив следующую команду:

    firebase login:ci
  3. Посетите указанный URL-адрес, затем войдите в систему, используя учетную запись Google.

  4. Распечатайте новый токен обновления . Текущий сеанс CLI не будет затронут.

  5. Сохраните выходной токен в безопасном, но доступном виде в вашей системе CI.

  6. Используйте этот токен при запуске команд firebase . Вы можете использовать любой из следующих двух вариантов:

    • Вариант 1. Сохраните токен как переменную среды FIREBASE_TOKEN . Ваша система автоматически будет использовать токен.

    • Вариант 2. Запустите все команды firebase с флагом --token TOKEN в вашей системе CI.
      Это порядок приоритета загрузки токенов: флаг, переменная среды, желаемый проект Firebase.

Инициализировать проект Firebase

Для многих распространенных задач, выполняемых с помощью CLI, таких как развертывание в проекте Firebase, требуется каталог проекта . Вы устанавливаете каталог проекта с помощью команды firebase init . Каталог проекта обычно совпадает с корневым каталогом системы управления версиями, и после запуска firebase init каталог содержит файл конфигурации firebase.json .

Чтобы инициализировать новый проект Firebase, выполните следующую команду из каталога вашего приложения:

firebase init

Команда firebase init поможет вам настроить каталог проекта и некоторые продукты Firebase. Во время инициализации проекта интерфейс командной строки Firebase просит вас выполнить следующие задачи:

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

    На этом шаге вам будет предложено установить конфигурации для определенных файлов для выбранных продуктов. Более подробную информацию об этих конфигурациях можно найти в документации конкретного продукта (например, Hosting ). Обратите внимание, что вы всегда можете запустить firebase init позже, чтобы настроить дополнительные продукты Firebase.

  • Выберите проект Firebase по умолчанию.

    На этом этапе текущий каталог проекта связывается с проектом Firebase, чтобы команды, специфичные для проекта (например, firebase deploy ), выполнялись для соответствующего проекта Firebase.

    Также можно связать несколько проектов Firebase (например, промежуточный проект и производственный проект) с одним и тем же каталогом проекта.

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

  • Файл конфигурации firebase.json , в котором перечислена конфигурация вашего проекта.

  • Файл .firebaserc , в котором хранятся псевдонимы вашего проекта.

Файл firebase.json

Команда firebase init создает файл конфигурации firebase.json в корне каталога вашего проекта.

Файл firebase.json необходим для развертывания ресурсов с помощью интерфейса командной строки Firebase поскольку он определяет, какие файлы и настройки из каталога вашего проекта будут развернуты в вашем проекте Firebase. Поскольку некоторые настройки можно определить либо в каталоге вашего проекта, либо в консоли Firebase , убедитесь, что вы разрешили любые потенциальные конфликты при развертывании .

Вы можете настроить большинство параметров Firebase Hosting непосредственно в файле firebase.json . Однако для других сервисов Firebase, которые можно развернуть с помощью Firebase CLI , команда firebase init создает определенные файлы, в которых вы можете определить настройки для этих сервисов, например файл index.js для Cloud Functions . Вы также можете настроить перехватчики перед развертыванием или после развертывания в файле firebase.json .

Ниже приведен пример файла firebase.json с настройками по умолчанию, если во время инициализации вы выбираете Firebase Hosting , Cloud Firestore и Cloud Functions for Firebase (с выбранным источником TypeScript и параметрами проверки).

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "firestore": {
      "rules": "firestore.rules",
      "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  }
}

Хотя по умолчанию используется firebase.json , вы можете передать флаг --config PATH , чтобы указать альтернативный файл конфигурации.

Конфигурация для нескольких баз данных Cloud Firestore

Когда вы запускаете firebase init , ваш файл firebase.json будет содержать один ключ firestore соответствующий базе данных вашего проекта по умолчанию, как показано выше.

Если ваш проект содержит несколько баз данных Cloud Firestore , отредактируйте файл firebase.json , чтобы связать разные Cloud Firestore Security Rules и исходные файлы индекса базы данных с каждой базой данных. Измените файл с помощью массива JSON с одной записью для каждой базы данных.

      "firestore": [
        {
          "database": "(default)",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

Файлы Cloud Functions которые следует игнорировать при развертывании

Во время развертывания функции CLI автоматически указывает список файлов в каталоге functions которые следует игнорировать. Это предотвращает развертывание на серверной стороне посторонних файлов, которые могут увеличить размер данных вашего развертывания.

Список файлов, игнорируемых по умолчанию, показанный в формате JSON:

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

Если вы добавляете свои собственные значения для ignore в firebase.json , убедитесь, что вы сохранили (или добавили, если он отсутствует) список файлов, показанный выше.

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

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

Добавить псевдоним проекта

Когда вы выбираете проект Firebase во время инициализации проекта , ему автоматически присваивается псевдоним по default . Однако, чтобы позволить командам, специфичным для проекта, запускаться в другом проекте Firebase, но при этом использовать тот же каталог проекта, выполните следующую команду из каталога вашего проекта:

firebase use --add

Эта команда предложит вам выбрать другой проект Firebase и назначить ему псевдоним. Назначения псевдонимов записываются в файл .firebaserc внутри каталога вашего проекта.

Используйте псевдонимы проектов

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

Команда Описание
firebase use Просмотр списка текущих псевдонимов для каталога вашего проекта.
firebase use \
PROJECT_ID|ALIAS
Направляет все команды на выполнение в указанном проекте Firebase.
CLI использует этот проект как текущий «активный проект».
firebase use --clear Очищает активный проект.

Запустите firebase use PROJECT_ID|ALIAS , чтобы установить новый активный проект перед запуском других команд CLI.

firebase use \
--unalias PROJECT_ALIAS
Удаляет псевдоним из каталога вашего проекта.

Вы можете переопределить то, что используется в качестве текущего активного проекта, передав флаг --project с помощью любой команды CLI. В качестве примера: вы можете настроить CLI для запуска проекта Firebase, которому вы назначили staging псевдоним. Если вы хотите запустить одну команду для проекта Firebase, которому вы назначили псевдоним prod , вы можете запустить, например, firebase deploy --project=prod .

Система контроля версий и псевдонимы проектов

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

Если у вас есть проект разработки, предназначенный только для вашего использования, вы можете либо передать флаг --project с каждой командой, либо запустить firebase use PROJECT_ID не назначая псевдоним проекту Firebase.

Обслуживайте и тестируйте свой проект Firebase локально

Вы можете просмотреть и протестировать свой проект Firebase на локально размещенных URL-адресах перед развертыванием в рабочей среде. Если вы хотите протестировать только избранные функции, вы можете использовать список, разделенный запятыми, во флаге команды firebase serve .

Запустите следующую команду из корня локального каталога проекта, если вы хотите выполнить любую из следующих задач:

  • Просмотрите статический контент вашего приложения, размещенного на Firebase.
  • Используйте Cloud Functions для создания динамического контента для Firebase Hosting , и вы хотите использовать свои рабочие (развернутые) функции HTTP для эмуляции Hosting на локальном URL-адресе.
firebase serve --only hosting

Эмулируйте свой проект, используя локальные функции HTTP.

Запустите любую из следующих команд из каталога вашего проекта, чтобы эмулировать ваш проект с помощью локальных функций HTTP.

  • Чтобы эмулировать функции HTTP и хостинг для тестирования на локальных URL-адресах, используйте любую из следующих команд:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Чтобы эмулировать только функции HTTP, используйте следующую команду:

    firebase serve --only functions

Тестирование с других локальных устройств

По умолчанию firebase serve отвечает только на запросы от localhost . Это означает, что вы сможете получить доступ к размещенному контенту через веб-браузер вашего компьютера, но не с других устройств в вашей сети. Если вы хотите протестировать с других локальных устройств, используйте флаг --host , например:

firebase serve --host 0.0.0.0  // accepts requests to any host

Развертывание в проекте Firebase

Интерфейс командной строки Firebase управляет развертыванием кода и ресурсов в вашем проекте Firebase, включая:

  • Новые версии ваших сайтов Firebase Hosting
  • Новые, обновленные или существующие Cloud Functions for Firebase
  • Новые или обновленные схемы и соединители для Firebase Data Connect
  • Правила для Firebase Realtime Database
  • Правила Cloud Storage for Firebase
  • Правила для Cloud Firestore
  • Индексы для Cloud Firestore

Чтобы развернуть проект Firebase, выполните следующую команду из каталога вашего проекта:

firebase deploy

При желании вы можете добавить комментарий к каждому из ваших развертываний. Этот комментарий будет отображаться вместе с другой информацией о развертывании на странице Firebase Hosting вашего проекта. Например:

firebase deploy -m "Deploying the best new feature ever."

При использовании команды firebase deploy имейте в виду следующее:

  • Чтобы развернуть ресурсы из каталога проекта, в каталоге проекта должен быть файл firebase.json . Этот файл автоматически создается для вас командой firebase init .

  • По умолчанию firebase deploy создает выпуск для всех развертываемых ресурсов в каталоге вашего проекта. Чтобы развернуть определенные службы или функции Firebase, используйте частичное развертывание .

Конфликты развертывания правил безопасности

Для Firebase Realtime Database , Cloud Storage for Firebase и Cloud Firestore вы можете определить правила безопасности либо в локальном каталоге проекта, либо в консоли Firebase .

Другой вариант избежать конфликтов развертывания — использовать частичное развертывание и определять правила только в консоли Firebase .

Квоты развертывания

Возможно (хотя и маловероятно), что вы превысите квоту, ограничивающую скорость или объем ваших операций по развертыванию Firebase. Например, при развертывании очень большого количества функций вы можете получить сообщение об ошибке HTTP 429 Quota . Чтобы решить такие проблемы, попробуйте использовать частичное развертывание .

Откат развертывания

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

В настоящее время невозможно откатить выпуски правил безопасности для Firebase Realtime Database , Cloud Storage for Firebase или Cloud Firestore .

Развертывание определенных сервисов Firebase

Если вы хотите развернуть только определенные службы или функции Firebase, вы можете использовать список, разделенный запятыми, во флаге команды firebase deploy . Например, следующая команда развертывает правила безопасности контента Firebase Hosting и Cloud Storage .

firebase deploy --only hosting,storage

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

Синтаксис флагов Служба или функция развернута
--only hosting Содержимое Firebase Hosting
--only database Правила Firebase Realtime Database
--only dataconnect Схемы и соединители Firebase Data Connect
--only storage Cloud Storage for Firebase
--only firestore Правила и индексы Cloud Firestore для всех настроенных баз данных
--only functions Cloud Functions for Firebase (возможны более конкретные версии этого флага )

Развертывание определенных функций

При развертывании функций вы можете ориентироваться на определенные функции. Например:

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

Другой вариант — сгруппировать функции в группы экспорта в файле /functions/index.js . Группировка функций позволяет развернуть несколько функций с помощью одной команды.

Например, вы можете написать следующие функции для определения groupA и groupB :

var functions = require('firebase-functions/v1');

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

В этом примере отдельный файл functions/groupB.js содержит дополнительные функции, которые конкретно определяют функции в groupB . Например:

var functions = require('firebase-functions/v1');

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

В этом примере вы можете развернуть все функции groupA , выполнив следующую команду из каталога вашего проекта:

firebase deploy --only functions:groupA

Или вы можете настроить конкретную функцию внутри группы, выполнив следующую команду:

firebase deploy --only functions:groupA.function1,groupB.function4

Удаление функций

Интерфейс командной строки Firebase поддерживает следующие команды и параметры для удаления ранее развернутых функций:

  • Удаляет все функции, соответствующие указанному имени, во всех регионах:

    firebase functions:delete FUNCTION-1_NAME

  • Удаляет указанную функцию, работающую в регионе, отличном от региона по умолчанию:

    firebase functions:delete FUNCTION-1_NAME --region REGION_NAME

  • Удаляет более одной функции:

    firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME

  • Удаляет указанную группу функций:

    firebase functions:delete GROUP_NAME

  • Обходит запрос подтверждения:

    firebase functions:delete FUNCTION-1_NAME --force

Настройка сценариев перед развертыванием и после развертывания.

Вы можете подключить сценарии оболочки к команде firebase deploy для выполнения задач перед или после развертывания. Например, сценарий перед развертыванием может транспилировать код TypeScript в JavaScript, а перехватчик после развертывания может уведомлять администраторов о развертывании нового контента сайта на Firebase Hosting .

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

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

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

Файл сценария messageSlack.sh находится в каталоге проекта и выглядит следующим образом:

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

Вы можете настроить перехватчики predeploy и postdeploy для любого из ресурсов, которые вы можете развернуть . Обратите внимание, что запуск firebase deploy запускает все задачи перед и после развертывания, определенные в вашем файле firebase.json . Чтобы запускать только те задачи, которые связаны с конкретной службой Firebase, используйте команды частичного развертывания .

Перехватчики как predeploy , так и postdeploy выводят на терминал стандартный вывод и потоки ошибок сценариев. В случае сбоя обратите внимание на следующее:

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

Переменные среды

В сценариях, выполняющихся в ловушках predeploy и postdeploy, доступны следующие переменные среды:

  • $GCLOUD_PROJECT : Идентификатор проекта активного проекта.
  • $PROJECT_DIR : корневой каталог, содержащий файл firebase.json .
  • $RESOURCE_DIR : (только для сценариев hosting и functions ) Местоположение каталога, содержащего ресурсы Hosting или Cloud Functions которые необходимо развернуть.

Управление несколькими экземплярами Realtime Database

Проект Firebase может иметь несколько экземпляров Firebase Realtime Database . По умолчанию команды CLI взаимодействуют с экземпляром базы данных по умолчанию .

Однако вы можете взаимодействовать с экземпляром базы данных, отличным от стандартного, используя --instance DATABASE_NAME . Следующие команды поддерживают флаг --instance :

  • firebase database:get
  • firebase database:profile
  • firebase database:push
  • firebase database:remove
  • firebase database:set
  • firebase database:update

Справочник команд

Административные команды CLI

Команда Описание
помощь Отображает справочную информацию о CLI или конкретных командах.
инициализация Связывает и настраивает новый проект Firebase в текущем каталоге. Эта команда создает файл конфигурации firebase.json в текущем каталоге.
авторизоваться Аутентифицирует CLI для вашей учетной записи Firebase. Требуется доступ к веб-браузеру.
Чтобы войти в CLI в удаленных средах, которые не разрешают доступ к localhost , используйте команду --no-localhost флаг.
логин:ci Создает токен аутентификации для использования в неинтерактивных средах.
выход из системы Выводит CLI из вашей учетной записи Firebase.
открыть Открывает браузер для соответствующих ресурсов проекта.
проекты: список Перечисляет все проекты Firebase, к которым у вас есть доступ.
использовать Устанавливает активный проект Firebase для CLI.
Управляет псевдонимами проекта .

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

Команда Описание
Управление проектами Firebase
проекты:addfirebase Добавляет ресурсы Firebase в существующий проект Google Cloud .
проекты:создать Создает новый проект Google Cloud , а затем добавляет в него ресурсы Firebase.
проекты: список Перечисляет все проекты Firebase, к которым у вас есть доступ.
Управление приложениями Firebase (iOS, Android, Интернет)
приложения:создать Создает новое приложение Firebase в активном проекте.
приложения: список Перечисляет зарегистрированные приложения Firebase в активном проекте.
приложения: SDKconfig Печатает конфигурацию сервисов Google приложения Firebase.
настройка: веб Устарело. Вместо этого используйте apps:sdkconfig и укажите web в качестве аргумента платформы.
Печатает конфигурацию сервисов Google веб-приложения Firebase.
Управление хэшами сертификатов SHA (только для Android)
приложения: android: sha: create \
FIREBASE_APP_ID SHA_HASH
Добавляет указанный хэш сертификата SHA в указанное приложение Firebase Android.
приложения: Android: ша: удалить \
FIREBASE_APP_ID SHA_HASH
Удаляет указанный хэш сертификата SHA из указанного приложения Firebase Android.
приложения: android: sha: список \
FIREBASE_APP_ID
Перечисляет хеши сертификатов SHA для указанного приложения Firebase Android.

Развертывание и локальная разработка

Эти команды позволяют вам развертывать ваш сайт Firebase Hosting и взаимодействовать с ним.

Команда Описание
развертывать Развертывает код и ресурсы из каталога вашего проекта в активный проект. Для Firebase Hosting требуется файл конфигурации firebase.json .
служить Запускает локальный веб-сервер с вашей конфигурацией Firebase Hosting . Для Firebase Hosting требуется файл конфигурации firebase.json .

Команды App Distribution

Команда Описание
дистрибутив приложения: распространить \
--app FIREBASE_APP_ID
Делает сборку доступной для тестировщиков.
appdistribution: тестеры: добавить Добавляет тестировщиков в проект.
дистрибутив: тестеры: удалить Удаляет тестировщиков из проекта.

Команды App Hosting

Команда Описание
apphosting: бэкэнды: создать \
--project PROJECT_ID \
--location REGION --app APP_ID
Создает коллекцию управляемых ресурсов, связанных с единой кодовой базой, включающей серверную часть App Hosting . При необходимости укажите существующее веб-приложение Firebase по его идентификатору приложения Firebase.
apphosting: бэкэнды: получить \
BACKEND_ID \
--project PROJECT_ID \
--location REGION
Получает конкретные сведения, включая общедоступный URL-адрес серверной части.
apphosting:backends:list \
--project PROJECT_ID
Получает список всех активных серверных частей, связанных с проектом.
Firebase apphosting: бэкэнды: удалить \
BACKEND_ID \
--project PROJECT_ID \
--location REGION
Удаляет серверную часть из проекта.
Firebase apphosting:config:export \
--project PROJECT_ID \
--secrets ENVIRONMENT_NAME
Экспортирует секреты для использования в эмуляции приложения.
По умолчанию используются секреты, хранящиеся в apphosting.yaml , или используется --secrets чтобы указать любую среду, имеющую соответствующий apphosting. ENVIRONMENT_NAME .yaml Файл apphosting. ENVIRONMENT_NAME .yaml .
firebase apphosting:rollouts:create \
BACKEND_ID \
--git_branch BRANCH_NAME \
--git_commit COMMIT_ID
Создает развертывание, запускаемое вручную.
При желании укажите последний коммит в ветку или конкретный коммит. Если параметры не указаны, предлагается выбор из списка ветвей.
apphosting:secrets:set KEY --project PROJECT_ID \
--location REGION \
--data-file DATA_FILE_PATH
Хранит секретные материалы в Secret Manager.
При необходимости укажите путь к файлу, из которого можно читать секретные данные. Установите значение _ чтобы читать секретные данные со стандартного ввода.
apphosting:secrets:grantaccess KEY BACKEND_ID \
--project PROJECT_ID \
--location REGION
Предоставляет учетной записи серверной службы доступ к предоставленному секрету, чтобы App Hosting мог получить к нему доступ во время сборки или выполнения.
apphosting:secrets:опишите KEY \
--project PROJECT_ID
Получает метаданные секрета и его версий.
Firebase apphosting: секреты: доступ \
KEY[@version] \
--project PROJECT_ID
Получает доступ к секретному значению, учитывая секрет и его версию. По умолчанию используется доступ к последней версии.

Команды Authentication (управления пользователями)

Команда Описание
аутентификация: экспорт Экспортирует учетные записи пользователей активного проекта в файл JSON или CSV. Более подробную информацию можно найти на страницах auth:import и auth:export .
аутентификация: импорт Импортирует учетные записи пользователей из файла JSON или CSV в активный проект. Более подробную информацию можно найти на страницах auth:import и auth:export .

Команды Cloud Firestore

Команда Описание
пожарная лавка:локации

Перечислите доступные местоположения для вашей базы данных Cloud Firestore .

Firestore: базы данных: создать DATABASE_ID

Создайте экземпляр базы данных в собственном режиме в своем проекте Firebase.

Команда принимает следующие флаги:

  • --location <имя региона> , чтобы указать место развертывания базы данных. Обратите внимание, что вы можете запустить firebase firestore:locations , чтобы получить список доступных местоположений. Необходимый .
  • --delete-protection <deleteProtectionState>, чтобы разрешить или запретить удаление указанной базы данных. Допустимые значения: ENABLED или DISABLED . По умолчанию DISABLED .
  • --point-in-time-recovery <PITRState> , чтобы указать, включено ли восстановление на определенный момент времени. Допустимые значения: ENABLED или DISABLED . По умолчанию DISABLED . Необязательный.
Firestore:базы данных:список

Перечислите базы данных в вашем проекте Firebase.

Firestore: базы данных: получить DATABASE_ID

Получите конфигурацию базы данных для указанной базы данных в вашем проекте Firebase.

Firestore: базы данных: обновить DATABASE_ID

Обновите конфигурацию базы данных указанной базы данных в вашем проекте Firebase.

Требуется хотя бы один флаг. Команда принимает следующие флаги:

  • --delete-protection <deleteProtectionState>, чтобы разрешить или запретить удаление указанной базы данных. Допустимые значения: ENABLED или DISABLED . По умолчанию DISABLED .
  • --point-in-time-recovery <PITRState> , чтобы указать, включено ли восстановление на определенный момент времени. Допустимые значения: ENABLED или DISABLED . По умолчанию DISABLED . Необязательный.
Firestore: базы данных: удалить DATABASE_ID

Удалите базу данных в своем проекте Firebase.

Firestore: индексы

Перечислите индексы базы данных в вашем проекте Firebase.

Команда принимает следующий флаг:

  • --database DATABASE_ID , чтобы указать имя базы данных, для которой нужно перечислить индексы. Если этот параметр не указан, индексы отображаются для базы данных по умолчанию.
пожарный магазин: удалить

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

Обратите внимание, что удаление данных Cloud Firestore с помощью CLI влечет за собой затраты на чтение и удаление. Дополнительную информацию см. в разделе Общие сведения о выставлении счетов Cloud Firestore .

Команда принимает следующий флаг:

  • --database DATABASE_ID для указания имени базы данных, из которой удаляются документы. Если не указано, документы удаляются из базы данных по умолчанию. Необязательный.

Cloud Functions for Firebase

Команда Описание
функции: конфигурация: клон Клонирует среду другого проекта в активный проект Firebase.
функции: конфигурация: получить Получает существующие значения конфигурации Cloud Functions активного проекта.
функции: конфигурация: установить Хранит значения конфигурации времени выполнения Cloud Functions активного проекта.
функции: конфигурация: не установлено Удаляет значения из конфигурации времени выполнения активного проекта.
функции: журнал Читает журналы из развернутых Cloud Functions .

Дополнительную информацию см. в документации по конфигурации среды .

Команды Crashlytics

Команда Описание
crashlytics:mappingfile:generateid \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML
Создает уникальный идентификатор файла сопоставления в указанном файле ресурсов Android (XML).
crashlytics:mappingfile:upload \
--app= FIREBASE_APP_ID \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Загружает файл сопоставления, совместимый с Proguard (TXT), для этого приложения и связывает его с идентификатором файла сопоставления, объявленным в указанном файле ресурса Android (XML).
Crashlytics:символы:загрузить \
--app= FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Создает Crashlytics -совместимый файл символов для сбоев встроенной библиотеки на Android и загружает его на серверы Firebase.

Команды Data Connect

Эти команды и варианты их использования более подробно описаны в справочном руководстве Data Connect CLI .

Команда Описание
dataconnect:services:list Перечисляет все развернутые службы Data Connect в вашем проекте Firebase.
dataconnect:sql:diff \
SERVICE_ID
Для указанного сервиса отображаются различия между локальной схемой Data Connect и схемой базы данных Cloud SQL.
dataconnect:sql:migrate \
--сила \
SERVICE_ID
Схема базы данных Cloud SQL переносится в соответствии с локальной схемой Data Connect .
dataconnect:sql:grant\
--role= ROLE \
--email= EMAIL \
SERVICE_ID
Предоставляет роль SQL указанному адресу электронной почты пользователя или учетной записи службы.
Для флага --role предоставляется одна из ролей SQL: owner , writer или reader .
В качестве флага --email укажите адрес электронной почты пользователя или учетной записи службы, которой требуется предоставить роль.
dataconnect: SDK: создать Создает типизированные пакеты SDK для соединителей Data Connect .

Команды Extensions

Команда Описание
доб. Отображает информацию о том, как использовать команды Firebase Extensions .
Перечисляет экземпляры расширений, установленные в активном проекте.
доб: настроить \
EXTENSION_INSTANCE_ID
Перенастраивает значения параметров экземпляра расширения в манифесте расширения .
доб.: информация \
PUBLISHER_ID/EXTENSION_ID
Печатает подробную информацию о расширении.
доб.: установить \
PUBLISHER_ID/EXTENSION_ID
Добавляет новый экземпляр расширения в манифест расширения .
доб.: список Перечисляет все экземпляры расширений, установленные в проекте Firebase.
Печатает идентификатор экземпляра для каждого расширения.
доб.: удалить \
EXTENSION_INSTANCE_ID
Удаляет экземпляр расширения из манифеста расширения .
доб.: обновление \
EXTENSION_INSTANCE_ID
Обновляет экземпляр расширения до последней версии в манифесте расширения .
доб:экспорт Экспортирует все установленные экземпляры расширений из вашего проекта в манифест расширения .

Команды издателя Extensions

Команда Описание
Ext: Dev: Init Инициализирует кодовую базу скелета для нового расширения в текущем каталоге.
Ext: Dev: List \
PUBLISHER_ID
Отпечатает список всех расширений, загруженных издателем.
Ext: Dev: Зарегистрироваться Регистрирует проект Firebase как проект расширений .
Ext: Dev: Установите \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Оправдывает версии расширения, которые соответствуют предикату версии.
Предикатом версии может быть единственной версией (например, 1.0.0 ) или диапазоном версий (например, >1.0.0 ).
Если предикат версии не предоставляется, оправдывает все версии этого расширения.
Ext: Dev: adprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Недостаточные версии расширения, которые соответствуют предикату версии.
Предикатом версии может быть единственной версией (например, 1.0.0 ) или диапазоном версий (например, >1.0.0 ).
Если предикат версии не предоставлен, не предпринимает всех версий этого расширения.
Ext: Dev: upload \
PUBLISHER_ID/EXTENSION_ID
Загружает новую версию расширения.
EXT: DEV: Использование \
PUBLISHER_ID
Отображает подсчеты установки и метрики использования для расширений, загруженных издателем.

Hosting команды

Команда Описание
хостинг: отключить

Остановка обслуживает трафик Firebase Hosting для проекта Active Firebase.

URL Hosting вашего проекта будет отображать сообщение «Сайт не найден» после запуска этой команды.

Управление Hosting
Hosting Firebase: Сайты: Создать \
SITE_ID

Создает новый сайт Hosting в проекте Active Firebase, используя указанный SITE_ID

(Необязательно) Укажите существующее веб -приложение Firebase, чтобы связать с новым сайтом, передавая следующий флаг: --app FIREBASE_APP_ID

Хостинг Firebase: сайты: удалить \
SITE_ID

Удаляет указанный сайт Hosting

CLI отображает подсказку подтверждения перед удалением сайта.

(Необязательно) Пропустите подсказку подтверждения, передав следующие флаги: -f или --force

Firebase хостинг: сайты: получить \
SITE_ID

Получает информацию о указанном Hosting сайте

Хостинг Firebase: Сайты: список

Перечисляет все сайты Hosting для проекта Active Firebase

Управление каналами предварительного просмотра
Hosting Firebase: канал: Create \
CHANNEL_ID

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

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

Хостинг Firebase: канал: Delete \
CHANNEL_ID

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

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

Firebase Hosting: Channel: Deploy \
CHANNEL_ID

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

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

Firebase хостинг: канал: список Перечисляет все каналы (включая канал «Live») на сайте Hosting по умолчанию
Хостинг Firebase: канал: Open \
CHANNEL_ID
Открывает браузер на URL -адрес указанного канала или возвращает URL -адрес, если открытие в браузере невозможно
Версия клонирования
Огненная база хостинг: клон \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Клоны Самая последняя развернутая версия на указанном канале «Источник» на указанный канал «Целевой»

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

Огненная база хостинг: клон \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Клоны указанной версии в указанный канал «Целевой»

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

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

Команды Realtime Database

Обратите внимание, что вы можете создать свой начальный экземпляр Realtime Database по умолчанию в консоли Firebase или с помощью рабочего процесса General firebase init или конкретного потока firebase init database .

После создания экземпляров вы можете управлять ими, как обсуждалось в управлении несколькими экземплярами Realtime Database .

Команда Описание
База данных: получить Избирает данные из базы данных Active Project и отображает их как JSON. Поддерживает запросы на индексированные данные.
База данных: экземпляры: создать Создает экземпляр базы данных с указанным именем экземпляра. Принимает опцию --location для создания базы данных в указанном регионе. Чтобы использовать названия регионов с этой опцией, см. Select Locations для вашего проекта . Если для текущего проекта не существует экземпляра базы данных, вам предложено запустить поток firebase init для создания экземпляра.
База данных: экземпляры: список Перечислите все экземпляры базы данных для этого проекта. Принимает опцию --location базы данных в указанном регионе. Для использования имен регионов с этой опцией см. Select Locations для вашего проекта .
База данных: профиль Создает профиль операций в базе данных Active Project. Для получения более подробной информации обратитесь к типам работы Realtime Database .
База данных: push Толкает новые данные в список в указанном месте в базе данных активного проекта. Берет ввод из файла, stdin или аргумента командной строки.
База данных: удалить Удаляет все данные в указанном месте в базе данных активного проекта.
База данных: SET Заменяет все данные в указанном месте в базе данных активного проекта. Берет ввод из файла, stdin или аргумента командной строки.
База данных: обновление Выполняет частичное обновление в указанном месте в базе данных активного проекта. Берет ввод из файла, stdin или аргумента командной строки.

Remote Config

Команда Описание
RemoteConfig: Версии: список \
-limit NUMBER_OF_VERSIONS
Перечисляет самые последние десять версий шаблона. Укажите 0 , чтобы вернуть все существующие версии или при желании пройти опцию --limit , чтобы ограничить количество возвращаемых версий.
RemoteConfig: Get \
--v, version_number VERSION_NUMBER
-O, выходное FILENAME
Получает шаблон по версии (по умолчанию в последнюю версию) и выводит группы параметров, параметры, имена условий и версию в таблицу. При желании вы можете написать выход в указанный файл с -o, FILENAME .
remoteConfig: rovkback \
--v, version_number VERSION_NUMBER
--сила
Обратает шаблон Remote Config на указанный предыдущий номер версии или по умолчанию к непосредственной предыдущей версии (текущая версия -1). Если не пройден --force y/n, прежде чем приступить к откату.
,

CLI Firebase ( GitHub ) предоставляет множество инструментов для управления, просмотра и развертывания проектов Firebase.

Перед использованием CLI Firebase установите проект Firebase .

Настроить или обновить CLI

Установите CLI Firebase

Вы можете установить CLI Firebase используя метод, который соответствует вашей операционной системе, уровню опыта и/или варианту использования. Независимо от того, как вы устанавливаете CLI, у вас есть доступ к той же функциональности и команде firebase .

Windows macos Linux

Окна

Вы можете установить CLI Firebase для Windows, используя один из следующих вариантов:

Вариант Описание Рекомендуется для...
автономный бинарный Загрузите автономный двоичный файл для CLI. Затем вы можете получить доступ к исполняемому файлу, чтобы открыть оболочку, где вы можете запустить команду firebase . Новые разработчики

Разработчики не используют или не знакомы с node.js
НПМ Используйте NPM (диспетчер пакетов узлов), чтобы установить CLI и включить глобально доступную команду firebase . Разработчики, использующие node.js

автономный бинарный

Чтобы загрузить и запустить двоичный файл для CLI Firebase , выполните следующие действия:

  1. Загрузите бинарное бинар Firebase CLI для Windows .

  2. Доступ к двоичному изготовлению, чтобы открыть оболочку, где вы можете запустить команду firebase .

  3. Продолжайте войти в систему и проверять CLI .

НПМ

Чтобы использовать npm (диспетчер пакетов узлов) для установки CLI Firebase , выполните следующие действия:

  1. Установите node.js с помощью NVM-Windows (диспетчер версий узла). Установка node.js автоматически устанавливает инструменты команд npm .

  2. Установите CLI Firebase через npm выполнив следующую команду:

    npm install -g firebase-tools

    Эта команда позволяет глобально доступной команде firebase .

  3. Продолжайте войти в систему и проверять CLI .

macOS или Linux

Вы можете установить CLI Firebase для MacOS или Linux, используя один из следующих вариантов:

Вариант Описание Рекомендуется для...
Автоматическая установка скрипт Запустите одну команду, которая автоматически обнаруживает вашу операционную систему, загружает последний выпуск CLI, а затем позволяет глобально доступной команде firebase . Новые разработчики

Разработчики не используют или не знакомы с node.js

Автоматизированные развертывания в среде CI/CD
автономный бинарный Загрузите автономный двоичный файл для CLI. Затем вы можете настроить и запустить двоичный файл в соответствии с вашим рабочим процессом. Полностью настраиваемые рабочие процессы с использованием CLI
НПМ Используйте NPM (диспетчер пакетов узлов), чтобы установить CLI и включить глобально доступную команду firebase . Разработчики, использующие node.js

Автоматическая сценарий

Чтобы установить CLI Firebase , используя сценарий автоматической установки, выполните следующие действия:

  1. Запустите следующую команду Curl:

    curl -sL https://firebase.tools | bash

    Этот скрипт автоматически обнаруживает вашу операционную систему, загружает последний выпуск CLI Firebase , а затем позволяет глобально доступной команде firebase .

  2. Продолжайте войти в систему и проверять CLI .

Для получения дополнительных примеров и подробностей о сценарии автоматической установки см. В исходном коде сценария на firebase.tools .

автономный бинарный

Чтобы загрузить и запустить двоичный файл для CLI Firebase , который конкретен для вашей ОС, следуйте этим шагам:

  1. Загрузите бинарную бинарную систему Firebase для вашей ОС: MacOS | Линукс

  2. (Необязательно) Установите глобально доступную команду firebase .

    1. Сделайте бинарный исполняемый файл, используя chmod +x ./firebase_tools .
    2. Добавьте путь бинарника к вашему пути.
  3. Продолжайте войти в систему и проверять CLI .

НПМ

Чтобы использовать npm (диспетчер пакетов узлов) для установки CLI Firebase , выполните следующие действия:

  1. Установите node.js с помощью NVM (диспетчер версий Node).
    Установка node.js автоматически устанавливает инструменты команд npm .

  2. Установите CLI Firebase через npm выполнив следующую команду:

    npm install -g firebase-tools

    Эта команда позволяет глобально доступной команде firebase .

  3. Продолжайте войти в систему и проверять CLI .

Войдите и протестируйте CLI Firebase

После установки CLI вы должны аутентифицировать. Затем вы можете подтвердить аутентификацию, перечислив свои проекты Firebase.

  1. Войдите в Firebase, используя свою учетную запись Google, выполнив следующую команду:

    firebase login

    Эта команда соединяет вашу местную машину с Firebase и предоставляет вам доступ к вашим проектам Firebase.

  2. Проверьте, что CLI правильно установлен и доступ к вашей учетной записи, перечислив ваши проекты Firebase. Запустите следующую команду:

    firebase projects:list

    Отображаемый список должен быть таким же, как и проекты Firebase, перечисленные в консоли Firebase .

Обновление до последней версии CLI

Как правило, вы хотите использовать самую современную версию CLI Firebase .

Как вы обновляете версию CLI, зависит от вашей операционной системы и от того, как вы установили CLI.

Окна

  • Автономный двоичный файл : загрузите новую версию , затем замените ее в своей системе
  • NPM : запустить npm install -g firebase-tools

macOS

  • Автоматическая установка скрипт : запустить curl -sL https://firebase.tools | upgrade=true bash
  • Автономный двоичный файл : загрузите новую версию , затем замените ее в своей системе
  • NPM : запустить npm install -g firebase-tools

Линукс

  • Автоматическая установка скрипт : запустить curl -sL https://firebase.tools | upgrade=true bash
  • Автономный двоичный файл : загрузите новую версию , затем замените ее в своей системе
  • NPM : запустить npm install -g firebase-tools

Используйте CLI с CI Systems

CLI Firebase требует браузера для завершения аутентификации, но CLI полностью совместим с CI и другими средами без головы.

  1. На машине с браузером установите CLI Firebase .

  2. Запустите процесс Signin, выполнив следующую команду:

    firebase login:ci
  3. Посетите предоставленный URL -адрес, затем войдите в систему, используя учетную запись Google.

  4. Распечатайте новый токен обновления . Текущий сеанс CLI не будет затронут.

  5. Храните выходной токен безопасным, но доступным способом в вашей системе CI.

  6. Используйте этот токен при запуске команд firebase . Вы можете использовать любой из следующих двух вариантов:

    • Вариант 1: Храните токен в качестве переменной среды FIREBASE_TOKEN . Ваша система автоматически будет использовать токен.

    • Вариант 2: Запустите все команды firebase с помощью флага --token TOKEN в вашей системе CI.
      Это порядок приоритета для загрузки токена: флаг, переменная среды, желаемый проект Firebase.

Инициализировать проект Firebase

Многие общие задачи, выполняемые с использованием CLI, таких как развертывание в проекте Firebase, требуют каталога проекта . Вы устанавливаете каталог проекта, используя команду firebase init . Справочник проекта, как правило, является тем же каталогом, что и ваш корень управления источником, и после запуска firebase init , каталог содержит файл конфигурации firebase.json .

Чтобы инициализировать новый проект Firebase, запустите следующую команду из каталога вашего приложения:

firebase init

Команда firebase init снимает вас через настройку каталога проекта и некоторых продуктов Firebase. Во время инициализации проекта CLI Firebase просит вас выполнить следующие задачи:

  • Выберите желаемые продукты Firebase для настройки в вашем проекте Firebase.

    Этот шаг побуждает вас установить конфигурации для определенных файлов для выбранных продуктов. Для получения более подробной информации об этих конфигурациях см. В документации конкретного продукта (например, Hosting ). Обратите внимание, что вы всегда можете запустить firebase init , чтобы настроить больше продуктов Firebase.

  • Выберите проект Firebase по умолчанию.

    Этот шаг связывает текущий каталог проектов с помощью проекта Firebase, так что команды специфичных для проекта (например, firebase deploy ) работают против соответствующего проекта Firebase.

    Также можно связать несколько проектов Firebase (например, проект по стадии и производственный проект) с тем же каталогом проекта.

В конце инициализации Firebase автоматически создает следующие два файла в корне вашего локального каталога приложений:

  • Файл конфигурации firebase.json , в котором перечислены конфигурация вашего проекта.

  • Файл .firebaserc , который хранит псевдонимов проекта.

Файл firebase.json

Команда firebase init создает файл конфигурации firebase.json в корне вашего каталога проекта.

Файл firebase.json должен развернуть активы с помощью CLI Firebase поскольку в нем указываются, какие файлы и настройки из вашего каталога проекта внедряются в ваш проект Firebase. Поскольку некоторые настройки могут быть определены либо в вашем каталоге проекта, либо в консоли Firebase , убедитесь, что вы разрешаете любые потенциальные конфликты развертывания .

Вы можете настроить большинство вариантов Firebase Hosting непосредственно в файле firebase.json . Однако для других служб Firebase, которые можно развернуть с помощью CLI Firebase , команда firebase init создает определенные файлы, где вы можете определить настройки для этих служб, такие как файл index.js для Cloud Functions . Вы также можете настроить Predeploy или Postdeploy Hooks в файле firebase.json .

Ниже приведен пример файла firebase.json с настройками по умолчанию, если вы выбираете Firebase Hosting , Cloud Firestore и Cloud Functions for Firebase (с выбранными параметрами TypeScript и Lint) во время инициализации.

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "firestore": {
      "rules": "firestore.rules",
      "indexes": "firestore.indexes.json"
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  }
}

В то время как firebase.json используется по умолчанию, вы можете передать флаг --config PATH чтобы указать альтернативный файл конфигурации.

Конфигурация для нескольких баз данных Cloud Firestore

Когда вы запускаете firebase init , ваш файл firebase.json будет содержать один ключ firestore соответствующий базе данных по умолчанию вашего проекта, как показано выше.

Если ваш проект содержит несколько баз данных Cloud Firestore , отредактируйте свой файл firebase.json , чтобы связать различные Cloud Firestore Security Rules и исходные файлы индекса базы данных с каждой базой данных. Измените файл с помощью массива JSON, с одной записью для каждой базы данных.

      "firestore": [
        {
          "database": "(default)",
          "rules": "firestore.default.rules",
          "indexes": "firestore.default.indexes.json"
        },
        {
          "database": "ecommerce",
          "rules": "firestore.ecommerce.rules",
          "indexes": "firestore.ecommerce.indexes.json"
        }
      ],

Cloud Functions файлов игнорировать при развертывании

Во время развертывания функций CLI автоматически определяет список файлов в каталоге functions чтобы игнорировать. Это предотвращает развертывание в бэкэнд -посторонних файлах, которые могут увеличить размер данных вашего развертывания.

Список файлов, проигнорированных по умолчанию, показан в формате JSON, есть:

"ignore": [
  ".git",
  ".runtimeconfig.json",
  "firebase-debug.log",
  "firebase-debug.*.log",
  "node_modules"
]

Если вы добавите свои собственные значения для ignore в firebase.json , убедитесь, что вы сохраняете (или добавляете, если он отсутствует) список файлов, показанных выше.

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

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

Добавить псевдоним проекта

Когда вы выбираете проект Firebase во время инициализации проекта , проекту автоматически назначается псевдоним по default . Однако, чтобы позволить командам, специфичным для специфических для проекта, выполнять работу против другого проекта Firebase, но все же использовать один и тот же каталог проектов, запустите следующую команду из вашего каталога проекта:

firebase use --add

Эта команда побуждает вас выбрать еще один проект Firebase и назначить проект в качестве псевдонима. Ассоциация назначений записывается в файл .firebaserc в каталоге проекта.

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

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

Команда Описание
firebase use Просмотреть список определенных в настоящее время псевдоним для вашего каталога проекта
firebase use \
PROJECT_ID|ALIAS
Направляет все команды, чтобы работать против указанного проекта Firebase.
CLI использует этот проект в качестве в настоящее время «активный проект».
firebase use --clear Очистит активный проект.

Запустите firebase use PROJECT_ID|ALIAS , чтобы установить новый активный проект, прежде чем запустить другие команды CLI.

firebase use \
--unalias PROJECT_ALIAS
Удаляет псевдоним из вашего каталога проекта.

Вы можете переопределить то, что используется в качестве активного проекта в настоящее время, передавая флаг --project с любой командой CLI. В качестве примера: вы можете настроить свой CLI для работы против проекта Firebase, который вы назначили staging . Если вы хотите запустить одну команду против проекта Firebase, который вы назначили псевдоним prod , то вы можете запустить, например, firebase deploy --project=prod .

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

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

Если у вас есть проект разработки, который предназначен только для вашего использования, вы можете либо передать флаг --project с каждой командой, либо запустить firebase use PROJECT_ID не присваивая псевдоним проекту Firebase.

Подавать и проверить свой проект Firebase на местном уровне

Вы можете просмотреть и проверить свой проект Firebase на местном размещенном URL -адресах перед тем, как развернуть до производства. Если вы хотите только протестировать функции Select, вы можете использовать разделенный запятой список в флаге по команде firebase serve .

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

  • Посмотреть статический контент для приложения, проведенного в Firebase.
  • Используйте Cloud Functions для генерации динамического контента для Firebase Hosting , и вы хотите использовать свои производственные (развернутые) функции HTTP для эмуляции Hosting на локальном URL.
firebase serve --only hosting

Эмуляция вашего проекта, используя локальные функции HTTP

Запустите любую из следующих команд из вашего каталога проекта, чтобы эмулировать ваш проект, используя локальные функции HTTP.

  • Для эмуляции функций HTTP и хостинга для тестирования на локальных URL -адресах используйте любую из следующих команд:

    firebase serve
    firebase serve --only functions,hosting // uses a flag
  • Для эмуляции только HTTP -функций используйте следующую команду:

    firebase serve --only functions

Тест с других местных устройств

По умолчанию firebase serve только запросы от localhost . Это означает, что вы сможете получить доступ к вашему хостиненному контенту из веб -браузера вашего компьютера, но не с других устройств в вашей сети. Если вы хотите проверить с других локальных устройств, используйте флаг --host , как так:

firebase serve --host 0.0.0.0  // accepts requests to any host

Развернуть в проекте Firebase

CLI Firebase управляет развертыванием кода и активов в вашем проекте Firebase, включая:

  • Новые релизы ваших сайтов Firebase Hosting
  • Новые, обновленные или существующие Cloud Functions for Firebase
  • Новые или обновленные схемы и разъемы для Firebase Data Connect
  • Правила Firebase Realtime Database
  • Правила для Cloud Storage for Firebase
  • Правила для Cloud Firestore
  • Индексы для Cloud Firestore

Для развертывания в проекте Firebase запустите следующую команду из вашего каталога проекта:

firebase deploy

Вы можете добавить комментарий к каждому из ваших развертываний. Этот комментарий будет отображаться с другой информацией о развертывании на странице Firebase Hosting вашего проекта. Например:

firebase deploy -m "Deploying the best new feature ever."

Когда вы используете команду firebase deploy , имейте в виду следующее:

  • Чтобы развернуть ресурсы из каталога проекта, в каталоге проекта должен быть файл firebase.json . Этот файл автоматически создается для вас командой firebase init .

  • По умолчанию firebase deploy создает релиз для всех развертываемых ресурсов в вашем каталоге проекта. Чтобы развернуть конкретные услуги или функции Firebase, используйте частичное развертывание .

Конфликты развертывания для правил безопасности

Для Firebase Realtime Database , Cloud Storage for Firebase и Cloud Firestore вы можете определить правила безопасности либо в вашем локальном каталоге проекта, либо в консоли Firebase .

Другой вариант избежать конфликтов развертывания - это использование частичного развертывания и определения только правил в консоли Firebase .

Квоты развертывания

Возможно (хотя и маловероятно), что вы можете превышать квоту, которая ограничивает скорость или объем ваших операций развертывания пожарной базы. Например, при развертывании очень большого количества функций вы можете получить сообщение об ошибке HTTP 429 Quota . Чтобы решить такие проблемы, попробуйте использовать частичное развертывание .

Отказаться от развертывания

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

В настоящее время невозможно отказаться от выпусков правил безопасности для Firebase Realtime Database , Cloud Storage for Firebase или Cloud Firestore .

Развернуть конкретные услуги Firebase

Если вы хотите развернуть конкретные службы или функции Firebase, вы можете использовать разделенный запятой список в флаге в команде firebase deploy . Например, следующая команда развертывает контент Firebase Hosting и правила безопасности Cloud Storage .

firebase deploy --only hosting,storage

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

Синтаксис флага Обслуживание или функция развернута
--only hosting Содержание Firebase Hosting
--only database Правила Firebase Realtime Database
--only dataconnect Firebase Data Connect схемы и разъемы
--only storage Cloud Storage for Firebase
--only firestore Правила и индексы Cloud Firestore для всех настроенных баз данных
--only functions Cloud Functions for Firebase (возможны более конкретные версии этого флага )

Развернуть конкретные функции

При развертывании функций вы можете ориентироваться на конкретные функции. Например:

firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2

Другой вариант - группировать функции в группы экспорта в вашем файле /functions/index.js . Функции группировки позволяют развернуть несколько функций, используя одну команду.

Например, вы можете написать следующие функции, чтобы определить groupA и groupB :

var functions = require('firebase-functions/v1');

exports.groupA = {
  function1: functions.https.onRequest(...),
  function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');

В этом примере файл functions/groupB.js содержит дополнительные функции, которые специально определяют функции в groupB . Например:

var functions = require('firebase-functions/v1');

exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);

В этом примере вы можете развернуть все функции groupA , выполнив следующую команду из вашего каталога проекта:

firebase deploy --only functions:groupA

Или вы можете нацелиться на определенную функцию в группе, выполнив следующую команду:

firebase deploy --only functions:groupA.function1,groupB.function4

Удалить функции

CLI Firebase поддерживает следующие команды и параметры для удаления ранее развернутых функций:

  • Удаляет все функции, которые соответствуют указанному имени во всех регионах:

    firebase functions:delete FUNCTION-1_NAME

  • Удаляет указанную функцию, работающую в неколевой области:

    firebase functions:delete FUNCTION-1_NAME --region REGION_NAME

  • Удаляет более одной функции:

    firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME

  • Удаляет определенную группу функций:

    firebase functions:delete GROUP_NAME

  • Обходит подсказку подтверждения:

    firebase functions:delete FUNCTION-1_NAME --force

Установите задачи Predeploy и Postdeploy

Вы можете подключить сценарии оболочки к команде firebase deploy для выполнения задач Predeploy или Postdeploy. Например, сценарий предштуального раздела может транспилировать код типовойписнойпинги в JavaScript, а крюк с пост -разветвлением может уведомить администраторы о развертывании контента нового сайта для Firebase Hosting .

Чтобы настроить закуски Predeploy или postdeploy, добавьте сценарии Bash в ваш файл конфигурации firebase.json . Вы можете определить краткие сценарии непосредственно в файле firebase.json , или вы можете ссылаться на другие файлы, которые находятся в вашем каталоге проекта.

Например, следующим сценарием является выражение firebase.json для задачи после разверты, которая посылает слабые сообщения после успешного развертывания в Firebase Hosting .

"hosting": {
  // ...

  "postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
  "public": "public"
}

Файл скрипта messageSlack.sh .

curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
     \https://SLACK_WEBHOOK_URL

Вы можете настроить закуски predeploy и postdeploy для любого из активов, которые вы можете развернуть . Обратите внимание, что запуск firebase deploy развертывает все задачи предштуального и пост -раз, определенные в вашем файле firebase.json . Чтобы запустить только те задачи, связанные с конкретной службой Firebase, используйте команды частичного развертывания .

Крюки как predeploy , так и postdeploy печатают стандартные выводы и потоки ошибок сценариев к терминалу. Для случаев неудачи обратите внимание на следующее:

  • Если крюк председа не завершается, как и ожидалось, развертывание отменяется.
  • Если развертывание не удается по какой -либо причине, крючки с постдеплоя не запускаются.

Переменные среды

Внутри сценариев, работающих в закусках предсенового и постдеплоя, доступны следующие переменные среды:

  • $GCLOUD_PROJECT : идентификатор проекта активного проекта
  • $PROJECT_DIR : корневый каталог, содержащий файл firebase.json
  • $RESOURCE_DIR Hosting (только для сценариев hosting functions Cloud Functions

Управлять несколькими экземплярами Realtime Database

Проект Firebase может иметь несколько экземпляров Firebase Realtime Database . По умолчанию команды CLI взаимодействуют с вашим экземпляром базы данных по умолчанию .

Тем не менее, вы можете взаимодействовать с экземпляром базы данных, не являющейся делом, используя --instance DATABASE_NAME флаг. Следующие команды поддерживают флаг --instance :

  • firebase database:get
  • firebase database:profile
  • firebase database:push
  • firebase database:remove
  • firebase database:set
  • firebase database:update

Командовая ссылка

CLI Административные команды

Команда Описание
помощь Отображает информацию справки о CLI или конкретных командах.
инициализация Сообесет и устанавливает новый проект Firebase в текущем каталоге. Эта команда создает файл конфигурации firebase.json в текущем каталоге.
авторизоваться Аутентифицирует CLI к вашей учетной записи Firebase. Требуется доступ к веб -браузеру.
Чтобы войти в CLI в удаленных средах, которые не допускают доступ к localhost , используйте --no-localhost флаг.
Вход: CI Генерирует токен аутентификации для использования в неинтерактивных средах.
выход из системы Выполняет CLI из вашей учетной записи Firebase.
открыть Открывает браузер для соответствующих ресурсов проекта.
Проекты: список Перечисляет все проекты Firebase, к которым у вас есть доступ.
использовать Устанавливает Active Firebase Project для CLI.
Управляет псевдонимом проекта .

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

Команда Описание
Управление проектами Firebase
Проекты: AddFireBase Добавляет ресурсы Firebase в существующий проект Google Cloud .
Проекты: создать Создает новый Google Cloud Project, затем добавляет ресурсы Firebase в новый проект.
Проекты: список Перечисляет все проекты Firebase, к которым у вас есть доступ.
Управление приложениями Firebase (iOS, Android, Web)
Приложения: создать Создает новое приложение Firebase в активном проекте.
Приложения: список Перечисляет зарегистрированные приложения Firebase в активном проекте.
Приложения: Sdkconfig Отпечатает конфигурацию Google Services приложения Firebase.
Настройка: Интернет Устарел. Вместо этого используйте apps:sdkconfig и укажите web в качестве аргумента платформы.
Напечатает конфигурацию Google Services в веб -приложении Firebase.
Управление хэшами сертификатов SHA (только для Android)
Приложения: Android: SHA: Create \
FIREBASE_APP_ID SHA_HASH
Добавляет указанный хэш сертификата SHA в указанное приложение Android Firebase.
Приложения: Android: SHA: DELETE \
FIREBASE_APP_ID SHA_HASH
Удаляет указанный хэш сертификата SHA из указанного приложения Android Firebase.
Приложения: Android: SHA: список \
FIREBASE_APP_ID
Перечисляет хэши сертификата SHA для указанного приложения Android Firebase.

Развертывание и местное развитие

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

Команда Описание
развертывать Развертывает код и активы из вашего каталога проекта в Active Project. Для Firebase Hosting требуется файл конфигурации firebase.json .
служить Запускает локальный веб -сервер с вашей конфигурацией Firebase Hosting . Для Firebase Hosting требуется файл конфигурации firebase.json .

App Distribution команды

Команда Описание
Приложение: распределить \
-App FIREBASE_APP_ID
Делает сборку доступной для тестеров.
Приложение: Тестеры: добавить Добавляет тестеров в проект.
Приложение: тестеры: удалить Удаляет тестеров из проекта.

App Hosting команды

Команда Описание
Apphosting: Backends: Create \
--Проект PROJECT_ID \
REGION локация-APP APP_ID
Создает коллекцию управляемых ресурсов, связанных с одной кодовой базой, которая включает в себя бэкэнд App Hosting . При желании укажите существующее веб -приложение Firebase с помощью идентификатора приложения Firebase.
приложение: бэкэнды: получить \
BACKEND_ID \
--Проект PROJECT_ID \
REGION размещения
Получает конкретные детали, включая публичный URL, бэкэнд.
Apphosting: Backends: List \
-Проект PROJECT_ID
Получает список всех активных бэкэндов, связанных с проектом.
Apphosting Firebase: Backends: Delete \
BACKEND_ID \
--Проект PROJECT_ID \
REGION размещения
Удаляет бэкэнд из проекта.
Apphosting Firebase: Config: Export \
--Проект PROJECT_ID \
-SECRET ENVIRONMENT_NAME
Экспортирует секреты для использования в эмуляции приложений.
По умолчанию в секреты, хранящиеся в apphosting.yaml , или требует --secrets чтобы указать любую среду, которая имеет соответствующее apphosting. ENVIRONMENT_NAME .yaml файл.
Apphosting Firebase: Развертывание: Создать \
BACKEND_ID \
-git_branch BRANCH_NAME \
-Git_commit COMMIT_ID
Создает развертывание вручную.
При желании укажите последний коммит в филиале или конкретный коммит. Если варианты не предоставляются, подсказка выбора из списка филиалов.
Apphosting: Secrets: SET KEY -Проект PROJECT_ID \
--location REGION \
--data-file DATA_FILE_PATH
Stores secret material in Secret Manager.
Optionally provide a file path from which to read secret data. Set to _ to read secret data from standard input.
apphosting:secrets:grantaccess KEY BACKEND_ID \
--project PROJECT_ID \
--location REGION
Grants the backend service account access to the provided secret so that it can be accessed by App Hosting at build or run time.
apphosting:secrets:describe KEY \
--project PROJECT_ID
Gets the metadata for a secret and its versions.
firebase apphosting:secrets:access \
KEY[@version] \
--project PROJECT_ID
Accesses a secret value given the secret and its version. Defaults to accessing the latest version.

Authentication (user management) commands

Команда Описание
auth:export Exports the active project's user accounts to a JSON or CSV file. For more details, refer to the auth:import and auth:export page .
auth:import Imports the user accounts from a JSON or CSV file into the active project. For more details, refer to the auth:import and auth:export page .

Cloud Firestore commands

Команда Описание
firestore:locations

List available locations for your Cloud Firestore database.

firestore:databases:create DATABASE_ID

Create a database instance in native mode in your Firebase project.

The command takes the following flags:

  • --location <region name> to specify the deployment location for the database. Note you can run firebase firestore:locations to list available locations. Необходимый .
  • --delete-protection <deleteProtectionState> to allow or prevent deletion of the specified database. Valid values are ENABLED or DISABLED . Defaults to DISABLED .
  • --point-in-time-recovery <PITRState> to set whether point-in-time recovery is enabled. Valid values are ENABLED or DISABLED . Defaults to DISABLED . Необязательный.
firestore:databases:list

List databases in your Firebase project.

firestore:databases:get DATABASE_ID

Get database configuration for a specified database in your Firebase project.

firestore:databases:update DATABASE_ID

Update database configuration of a specified database in your Firebase project.

At least one flag is required. The command takes the following flags:

  • --delete-protection <deleteProtectionState> to allow or prevent deletion of the specified database. Valid values are ENABLED or DISABLED . Defaults to DISABLED .
  • --point-in-time-recovery <PITRState> to set whether point-in-time recovery is enabled. Valid values are ENABLED or DISABLED . Defaults to DISABLED . Необязательный.
firestore:databases:delete DATABASE_ID

Delete a database in your Firebase project.

firestore:indexes

List indexes for a database in your Firebase project.

The command takes the following flag:

  • --database DATABASE_ID to specify the name of the database for which to list indexes. If not provided, indexes are listed for the default database.
firestore:delete

Deletes documents in the active project's database. Using the CLI, you can recursively delete all the documents in a collection.

Note that deleting Cloud Firestore data with the CLI incurs read and delete costs. For more information, see Understand Cloud Firestore billing .

The command takes the following flag:

  • --database DATABASE_ID to specify the name of the database from which documents are deleted. If not specified, documents are deleted from the default database. Необязательный.

Cloud Functions for Firebase commands

Команда Описание
functions:config:clone Clones another project's environment into the active Firebase project.
functions:config:get Retrieves existing configuration values of the active project's Cloud Functions .
functions:config:set Stores runtime configuration values of the active project's Cloud Functions .
functions:config:unset Removes values from the active project's runtime configuration.
functions:log Reads logs from deployed Cloud Functions .

For more information, refer to the environment configuration documentation .

Crashlytics commands

Команда Описание
crashlytics:mappingfile:generateid \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML
Generates a unique mapping file ID in the specified Android resource (XML) file.
crashlytics:mappingfile:upload \
--app= FIREBASE_APP_ID \
--resource-file= PATH/TO/ANDROID_RESOURCE.XML \
PATH/TO/MAPPING_FILE.TXT
Uploads a Proguard-compatible mapping (TXT) file for this app, and associates it with the mapping file ID declared in the specified Android resource (XML) file.
crashlytics:symbols:upload \
--app= FIREBASE_APP_ID \
PATH/TO/SYMBOLS
Generates a Crashlytics -compatible symbol file for native library crashes on Android and uploads it to Firebase servers.

Data Connect commands

These commands and their use cases are covered in more detail in the Data Connect CLI reference guide .

Команда Описание
dataconnect:services:list Lists all deployed Data Connect services in your Firebase project.
dataconnect:sql:diff \
SERVICE_ID
For the specified service, displays the differences between a local Data Connect schema and your Cloud SQL database schema.
dataconnect:sql:migrate \
--сила \
SERVICE_ID
Migrates your Cloud SQL database's schema to match your local Data Connect schema.
dataconnect:sql:grant\
--role= ROLE \
--email= EMAIL \
SERVICE_ID
Grants the SQL role to the specified user or service account email.
For the --role flag, the SQL role to grant is one of: owner , writer , or reader .
For the --email flag, provide the email address of the user or service account to grant the role to.
dataconnect:sdk:generate Generates typed SDKs for your Data Connect connectors.

Extensions commands

Команда Описание
доб. Displays information on how to use Firebase Extensions commands.
Lists the extension instances installed in the active project.
ext:configure \
EXTENSION_INSTANCE_ID
Reconfigures the parameter values of an extension instance in your extension manifest .
ext:info \
PUBLISHER_ID/EXTENSION_ID
Prints detailed information about an extension.
ext:install \
PUBLISHER_ID/EXTENSION_ID
Adds a new instance of an extension into your extension manifest .
ext:list Lists all the extension instances installed in a Firebase project.
Prints the instance ID for each extension.
ext:uninstall \
EXTENSION_INSTANCE_ID
Removes an extension instance from your extension manifest .
ext:update \
EXTENSION_INSTANCE_ID
Updates an extension instance to the latest version in your extension manifest .
ext:export Exports all installed extension instances from your project to your extension manifest .

Extensions publisher commands

Команда Описание
ext:dev:init Initializes a skeleton codebase for a new extension in the current directory.
ext:dev:list \
PUBLISHER_ID
Prints a list of all extensions uploaded by a publisher.
ext:dev:register Registers a Firebase project as an extensions publisher project .
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Deprecates extension versions that match the version predicate.
A version predicate can be a single version (such as 1.0.0 ), or a range of versions (such as >1.0.0 ).
If no version predicate is provided, deprecates all versions of that extension.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Undeprecates extension versions that match the version predicate.
A version predicate can be a single version (such as 1.0.0 ), or a range of versions (such as >1.0.0 ).
If no version predicate is provided, undeprecates all versions of that extension.
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
Uploads a new version of an extension.
ext:dev:usage \
PUBLISHER_ID
Displays install counts and usage metrics for extensions uploaded by a publisher.

Hosting commands

Команда Описание
hosting:disable

Stops serving Firebase Hosting traffic for the active Firebase project.

Your project's Hosting URL will display a "Site Not Found" message after running this command.

Management of Hosting sites
firebase hosting:sites:create \
SITE_ID

Creates a new Hosting site in the active Firebase project using the specified SITE_ID

(Optional) Specify an existing Firebase Web App to associate with the new site by passing the following flag: --app FIREBASE_APP_ID

firebase hosting:sites:delete \
SITE_ID

Deletes the specified Hosting site

The CLI displays a confirmation prompt before deleting the site.

(Optional) Skip the confirmation prompt by passing the following flags: -f or --force

firebase hosting:sites:get \
SITE_ID

Retrieves information about the specified Hosting site

firebase hosting:sites:list

Lists all Hosting sites for the active Firebase project

Management of preview channels
firebase hosting:channel:create \
CHANNEL_ID

Creates a new preview channel in the default Hosting site using the specified CHANNEL_ID

This command does not deploy to the channel.

firebase hosting:channel:delete \
CHANNEL_ID

Deletes the specified preview channel

You cannot delete a site's live channel.

firebase hosting:channel:deploy \
CHANNEL_ID

Deploys your Hosting content and config to the specified preview channel

If the preview channel does not yet exist, this command creates the channel in the default Hosting site before deploying to the channel.

firebase hosting:channel:list Lists all channels (including the "live" channel) in the default Hosting site
firebase hosting:channel:open \
CHANNEL_ID
Opens a browser to the specified channel's URL or returns the URL if opening in a browser isn't possible
Version cloning
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Clones the most recently deployed version on the specified "source" channel to the specified "target" channel

This command also deploys to the specified "target" channel. If the "target" channel does not yet exist, this command creates a new preview channel in the "target" Hosting site before deploying to the channel.

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

Clones the specified version to the specified "target" channel

This command also deploys to the specified "target" channel. If the "target" channel does not yet exist, this command creates a new preview channel in the "target" Hosting site before deploying to the channel.

You can find the VERSION_ID in the Hosting dashboard of the Firebase console.

Realtime Database commands

Note that you can create your initial, default Realtime Database instance in the Firebase console or by using the general firebase init workflow or the specific firebase init database flow.

Once instances are created, you can manage them as discussed in Manage multiple Realtime Database instances .

Команда Описание
database:get Fetches data from the active project's database and displays it as JSON. Supports querying on indexed data.
database:instances:create Creates a database instance with a specified instance name. Accepts the --location option for creating a database in a specified region. For region names to use with this option, see select locations for your project . If no database instance exists for the current project, you are prompted to run the firebase init flow to create an instance.
database:instances:list List all database instances for this project. Accepts the --location option for listing databases in a specified region. For region names to use with this option see select locations for your project .
database:profile Builds a profile of operations on the active project's database. For more details, refer to Realtime Database operation types .
database:push Pushes new data to a list at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument.
database:remove Deletes all data at a specified location in the active project's database.
database:set Replaces all data at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument.
database:update Performs a partial update at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument.

Remote Config commands

Команда Описание
remoteconfig:versions:list \
--limit NUMBER_OF_VERSIONS
Lists the most recent ten versions of the template. Specify 0 to return all existing versions, or optionally pass the --limit option to limit the number of versions being returned.
remoteconfig:get \
--v, version_number VERSION_NUMBER
--o, output FILENAME
Gets the template by version (defaults to the latest version) and outputs the parameter groups, parameters, and condition names and version into a table. Optionally, you can write the output to a specified file with -o, FILENAME .
remoteconfig:rollback \
--v, version_number VERSION_NUMBER
--сила
Rolls back Remote Config template to a specified previous version number or defaults to the immediate previous version (current version -1). Unless --force is passed, prompts Y/N before proceeding to rollback.