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

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

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

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

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

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

Windows macOS Linux

Окна

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

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

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

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

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

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

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

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

нпм

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

  1. Установите Node.js с помощью nvm-windows (менеджера версий Node). При установке 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 (менеджер пакетов Node) для установки 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 | Linux

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

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

нпм

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

  1. Установите Node.js с помощью nvm (менеджер версий Node).
    Установка 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

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

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

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

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

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

  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, чтобы команды, специфичные для проекта (например, 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 . В файле firebase.json также можно настроить хуки predeploy и postdeploy .

Ниже приведен пример файла 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 следует добавлять в систему контроля версий, чтобы ваша команда могла совместно использовать псевдонимы проектов. Однако для проектов с открытым исходным кодом или шаблонов Starter обычно не рекомендуется добавлять файл .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 CLI управляет развертыванием кода и ресурсов в вашем проекте 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 CLI поддерживает следующие команды и параметры для удаления ранее развернутых функций:

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

    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 для выполнения задач predeploy и postdeploy. Например, скрипт predeploy может транспилировать код TypeScript в JavaScript, а хук postdeploy может уведомлять администраторов о развёртывании нового контента сайта на 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

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

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

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

Команды App Hosting

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

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

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

Команды Cloud Firestore

Команда Описание
пожарные:местоположения

Перечислите доступные расположения для вашей базы данных 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:базы данных:список

Перечислите базы данных в вашем проекте 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:индексы

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

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

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

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

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

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

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

Cloud Functions for Firebase

Команда Описание
функции:config:clone Клонирует среду другого проекта в активный проект Firebase.
функции:config:get Извлекает существующие значения конфигурации Cloud Functions активного проекта.
функции:config:set Сохраняет значения конфигурации времени выполнения Cloud Functions активного проекта.
функции:config:unset Удаляет значения из конфигурации выполнения активного проекта.
функции:журнал Читает журналы из развернутых 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:symbols:upload \
--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

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

Команды Hosting

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

Прекращает обслуживать трафик Firebase Hosting для активного проекта Firebase.

После выполнения этой команды на URL-адресе Hosting вашего проекта появится сообщение «Сайт не найден».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Хостинг Firebase: канал: удалить \
CHANNEL_ID

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

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

хостинг Firebase:канал:развертывание\
CHANNEL_ID

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

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

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

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

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

Хостинг Firebase: клон \
SOURCE_SITE_ID : VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

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

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

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

Команды Realtime Database

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

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

Команда Описание
база данных: получить Извлекает данные из базы данных активного проекта и отображает их в формате JSON. Поддерживает запросы к индексированным данным.
база данных: экземпляры: создать Создает экземпляр базы данных с указанным именем экземпляра. Принимает параметр --location для создания базы данных в указанном регионе. Названия регионов, которые можно использовать с этой опцией, см. в разделе «Выбор местоположений для вашего проекта» . Если для текущего проекта не существует экземпляра базы данных, вам будет предложено запустить поток firebase init для создания экземпляра.
база данных:экземпляры:список Перечислите все экземпляры базы данных для этого проекта. Принимает параметр --location для вывода списка баз данных в указанном регионе. Названия регионов, которые можно использовать с этой опцией, см. в разделе «Выбор местоположений для вашего проекта» .
база данных:профиль Создает профиль операций в базе данных активного проекта. Дополнительные сведения см. в разделе Типы операций Realtime Database .
база данных: нажмите Помещает новые данные в список в указанном месте базы данных активного проекта. Принимает входные данные из файла, STDIN или аргумента командной строки.
база данных: удалить Удаляет все данные в указанном месте в базе данных активного проекта.
база данных: установить Заменяет все данные в указанном месте в базе данных активного проекта. Принимает входные данные из файла, STDIN или аргумента командной строки.
база данных: обновление Выполняет частичное обновление в указанном месте базы данных активного проекта. Принимает входные данные из файла, STDIN или аргумента командной строки.

Команды Remote Config

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