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

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

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

Настройте или обновите интерфейс командной строки.

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

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

Windows macOS Linux

Windows

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

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

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

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

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

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

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

  3. Продолжайте входить в систему и тестируйте интерфейс командной строки .

npm

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

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

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

    npm install -g firebase-tools

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

  3. Продолжайте входить в систему и тестируйте интерфейс командной строки .

macOS или Linux

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

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

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

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

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

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

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

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

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

  2. Продолжайте входить в систему и тестируйте интерфейс командной строки .

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

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

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

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

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

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

npm

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

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

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

    npm install -g firebase-tools

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

  3. Продолжайте входить в систему и тестируйте интерфейс командной строки .

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

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

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

    firebase login

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

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

    firebase projects:list

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

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

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

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

Windows

  • Автономный исполняемый файл : Загрузите новую версию , а затем замените ею существующую в вашей системе.
  • npm : Выполните команду npm install -g firebase-tools

macOS

  • скрипт автоматической установки : Запустите curl -sL https://firebase.tools | upgrade=true bash

  • Автономный исполняемый файл : Загрузите новую версию , а затем замените ею существующую в вашей системе.

  • npm : Выполните команду npm install -g firebase-tools

Linux

  • скрипт автоматической установки : Запустите curl -sL https://firebase.tools | upgrade=true bash

  • Автономный исполняемый файл : Загрузите новую версию , а затем замените ею существующую в вашей системе.

  • npm : Выполните команду npm install -g firebase-tools

Удалите Firebase CLI.

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

Windows

  • Автономный исполняемый файл : Удалите загруженный вами исполняемый файл firebase.exe .
  • npm : Выполните команду npm uninstall -g firebase-tools

macOS

  • скрипт автоматической установки : Запустите curl -sL https://firebase.tools | uninstall=true bash

  • Автономный исполняемый файл : Удалите загруженный вами исполняемый файл firebase . Если вы добавили его местоположение в переменную среды PATH , обязательно удалите его.

  • npm : Выполните команду npm uninstall -g firebase-tools

Linux

  • скрипт автоматической установки : Запустите curl -sL https://firebase.tools | uninstall=true bash

  • Автономный исполняемый файл : Удалите загруженный вами исполняемый файл firebase . Если вы добавили его местоположение в переменную среды PATH , обязательно удалите его.

  • npm : Выполните команду npm uninstall -g firebase-tools

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

Мы рекомендуем использовать учетные данные приложения по умолчанию при работе с CLI в системах CI для аутентификации.

(Рекомендуется) Использовать учетные данные приложения по умолчанию.

Интерфейс командной строки Firebase обнаружит и будет использовать учетные данные приложения по умолчанию, если они заданы. Самый простой способ аутентификации CLI в CI и других средах без графического интерфейса — это настройка учетных данных приложения по умолчанию .

(Устаревшая версия) Используйте FIREBASE_TOKEN

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

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

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

    firebase login:ci
  3. Перейдите по указанной ссылке, затем войдите в систему, используя учетную запись 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 CLI запрашивает выполнение следующих задач:

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

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

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

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

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

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

  • Конфигурационный файл firebase.json , содержащий список параметров вашего проекта.

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

Файл firebase.json

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

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

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

Ниже приведён пример файла firebase.json с настройками по умолчанию, если при инициализации вы выберете Firebase Hosting , Cloud Firestore и Cloud Functions for Firebase (с выбранными параметрами TypeScript source и 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.
Интерфейс командной строки использует этот проект в качестве текущего «активного проекта».
firebase use --clear Сбрасывает активный проект.

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

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 .

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

Например, следующий скрипт представляет собой выражение в firebase.json для задачи postdeploy, которая отправляет сообщение в 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 запускает все задачи predeploy и postdeploy, определенные в файле 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

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

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

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

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

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

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

Команды App Distribution

Командование Описание
appdistribution:distribute \
--app FIREBASE_APP_ID
Предоставляет доступ к сборке тестировщикам.
appdistribution:testers:add Добавляет тестировщиков в проект.
appdistribution:testers:remove Удаляет тестировщиков из проекта.

Команды App Hosting

Командование Описание
apphosting:backends:create \
--project PROJECT_ID \
--location REGION --app APP_ID
Создает набор управляемых ресурсов, связанных с единой кодовой базой, которая составляет бэкэнд App Hosting . При желании можно указать существующее веб-приложение Firebase по его идентификатору приложения Firebase.
apphosting:backends:get \
BACKEND_ID \
--project PROJECT_ID \
--location REGION
Получает конкретные сведения, включая публичный URL-адрес, бэкэнда.
apphosting:backends:list \
--project PROJECT_ID
Получает список всех активных бэкэндов, связанных с проектом.
firebase apphosting:backends:delete \
BACKEND_ID \
--project PROJECT_ID \
--location REGION
Удаляет бэкэнд из проекта.
firebase apphosting:config:export \
--project PROJECT_ID \
--secrets ENVIRONMENT_NAME
Экспортирует секретные данные для использования в эмуляции приложений.
По умолчанию используются секреты, хранящиеся в файле apphosting.yaml , или же параметр --secrets позволяет указать любую среду, для которой существует соответствующий файл 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:describe KEY \
--project PROJECT_ID
Получает метаданные секрета и его версий.
firebase apphosting:secrets:access \
KEY[@version] \
--project PROJECT_ID
Осуществляет доступ к секретному значению, зная сам секрет и его версию. По умолчанию используется последняя версия.

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

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

Команды Cloud Firestore

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

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

firestore:databases:create DATABASE_ID

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

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

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

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

firestore:databases:get DATABASE_ID

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

firestore:databases:update DATABASE_ID

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

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

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

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

firestore:indexes

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

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

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

Удаляет документы из базы данных активного проекта. С помощью командной строки можно рекурсивно удалить все документы в коллекции.

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

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

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

Команды Cloud Functions for Firebase

Командование Описание
функции:конфигурация:клон Клонирует среду другого проекта в активный проект Firebase.
функции:конфигурация:получить Получает существующие значения конфигурации Cloud Functions активного проекта.
функции:конфигурация:настройка Сохраняет значения конфигурации среды выполнения Cloud Functions активного проекта.
функции:конфигурация:unset Удаляет значения из конфигурации среды выполнения активного проекта.
функции:лог 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

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

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

firebase hosting:channel:delete \
CHANNEL_ID

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

Удалить прямой эфир с сайта невозможно.

firebase hosting:channel:deploy \
CHANNEL_ID

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

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

firebase hosting:channel:list Отображает список всех каналов (включая канал "прямой трансляции") на сайте Hosting по умолчанию.
firebase hosting:channel:open \
CHANNEL_ID
Открывает в браузере URL-адрес указанного канала или возвращает URL-адрес, если открытие в браузере невозможно.
Version cloning
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Клонирует последнюю развернутую версию из указанного "исходного" канала в указанный "целевой" канал.

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

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

Клонирует указанную версию в указанный целевой канал.

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

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

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.
remoteconfig:experiments:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
Lists all Remote Config experiments for a project, with optional filtering, number of experiments to return per page (defaults to 10), and page token as the starting offset for the list.
remoteconfig:experiments:get \
EXPERIMENT_ID
Gets the details of the specified Remote Config experiment.
remoteconfig:experiments:delete \
EXPERIMENT_ID
Deletes the specified Remote Config experiment.
remoteconfig:rollouts:list \
--filter EXPRESSION
--pageSize NUMBER
--pageToken TOKEN
Lists all Remote Config rollouts for a project, with optional filtering, number of rollouts to return per page (defaults to 10), and page token as the starting offset for the list.
remoteconfig:rollouts:get \
ROLLOUT_ID
Gets the details of the specified Remote Config rollout.
remoteconfig:rollouts:delete \
ROLLOUT_ID
Deletes the specified Remote Config rollout.