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

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

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

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

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

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

Windows macOS Linux

Windows

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

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

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

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

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

  1. Скачайте двоичный файл CLI Firebase для Windows.

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

  3. Перейдите к разделу Как войти в CLI и протестировать его.

npm

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

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

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

    npm install -g firebase-tools

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

  3. Перейдите к разделу Как войти в CLI и протестировать его.

macOS или Linux

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

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

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

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

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

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

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

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

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

  2. Перейдите к разделу Как войти в CLI и протестировать его.

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

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

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

  1. Скачайте двоичный файл CLI Firebase для своей ОС: macOS | Linux

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

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

npm

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

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

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

    npm install -g firebase-tools

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

  3. Перейдите к разделу Как войти в CLI и протестировать его.

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

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

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

    firebase login

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

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

    firebase projects:list

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

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

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

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

Windows

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 с системами непрерывной интеграции

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

(Рекомендуется) Использовать Application Default Credentials

CLI Firebase обнаружит и будет использовать Application Default Credentials, если они настроены. Проще всего выполнить аутентификацию CLI в CI и других средах без графического интерфейса, настроив Application Default Credentials.

(Устарело) Используйте FIREBASE_TOKEN.

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

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

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

    firebase login:ci
  3. Перейдите по указанному URL и войдите в аккаунт Google.

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

  5. Сохраните полученный токен в системе непрерывной интеграции так, чтобы он был защищен, но доступен.

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

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

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

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

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

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

firebase init

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

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

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

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

  • Выберите продукты Firebase, которые нужно настроить в проекте Firebase.

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

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

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

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

Файл firebase.json

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

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

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

Ниже приведен пример файла firebase.json с настройками для многих сервисов Firebase. В нем также демонстрируются такие функции, как Cloud Functions с несколькими базами кода, настройка Local Emulator Suite и шаблон Remote Config. Обратите внимание, что файл firebase.json для любого проекта будет содержать только конфигурации для сервисов Firebase, настроенных для этого конкретного проекта (например, только Firebase Hosting и Cloud Functions). Добавление ключа $schema позволяет выполнять проверку и автозаполнение во многих редакторах кода.

    {
      "$schema": "https://raw.githubusercontent.com/firebase/firebase-tools/master/schema/firebase-config.json",
      "hosting": {
        "public": "public",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ],
        "cleanUrls": true,
        "trailingSlash": false
      },
      "apphosting": {
        "backendId": "my-app",
        "rootDir": "backend",
        "ignore": [
          "firebase.json",
          "**/.*",
          "**/node_modules/**"
        ]
      },
      "firestore": {
        "rules": "firestore.rules",
        "indexes": "firestore.indexes.json"
      },
      "storage": {
        "rules": "storage.rules"
      },
      "database": {
        "rules": "database.rules.json"
      },
      "dataconnect": {
        "source": "dataconnect",
        "location": "us-central1"
      },
      "functions": [
        {
          "source": "functions",
          "codebase": "default",
          "ignore": [
            "**/.*",
            "**/node_modules/**"
          ],
          "predeploy": [
            "npm --prefix \"$RESOURCE_DIR\" run lint",
            "npm --prefix \"$RESOURCE_DIR\" run build"
          ]
        }
      ],
      "emulators": {
        "auth": {
          "port": 9099
        },
        "functions": {
          "port": 5001
        },
        "firestore": {
          "port": 8080
        },
        "hosting": {
          "port": 5000
        },
        "storage": {
          "port": 9199
        },
        "ui": {
          "enabled": true,
          "port": 4000
        },
        "singleProjectMode": true
      },
      "extensions": {
        "my-storage-resizer": "firebase/storage-resize-images@^0.1.0"
      },
      "auth": {
        "providers": {
          "anonymous": true,
          "emailPassword": true,
          "googleSignIn": {
            "oAuthBrandDisplayName": "My App",
            "supportEmail": "support@myapp.com"
          }
        }
      },
      "remoteconfig": {
        "template": "remoteconfig.template.json"
      }
    }

По умолчанию используется файл 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 Очищает активный проект.

Прежде чем выполнять другие команды CLI, запустите 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 SQL Connect
  • Security Rules (Firebase Realtime Database)
  • Security Rules (Cloud Storage for Firebase)
  • Security Rules (Cloud Firestore)
  • Индексы для Cloud Firestore
  • Конфигурация для режима "Authentication"

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

firebase deploy

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

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

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

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

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

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

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

firebase deploy --only hosting,storage

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

Синтаксис флагов Развернутый сервис или функция
--only auth Конфигурация поставщика Authentication
--only database Firebase Realtime Database Security Rules
--only dataconnect Firebase SQL Connect схем и коннекторов
--only firestore Cloud Firestore Security Rules и индексы для всех настроенных баз данных.
--only functions Cloud Functions for Firebase
--only hosting Firebase Hosting язык
--only storage Cloud Storage for Firebase Security Rules

Конфликты развертывания для Security Rules

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

Чтобы избежать конфликтов при развертывании, можно также использовать частичное развертывание и определить Security Rules только в консоли Firebase.

Как настроить задачи, выполняемые до и после развертывания

Вы можете подключить сценарии командной строки к команде 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) выводят стандартный вывод и потоки ошибок скриптов в терминал. В случае сбоя обратите внимание на следующее:

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

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

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

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

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

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

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

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

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

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

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

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

Команда Описание
help Показать справочную информацию о CLI или определенных командах.
init Свяжите и настройте новый проект Firebase в текущем каталоге.
Эта команда создает файл конфигурации firebase.json в текущем каталоге.
login

Выполните аутентификацию CLI с помощью аккаунта Google. Требуется доступ к веб-браузеру.

Чтобы войти в CLI в удаленной среде, где нет доступа к localhost, используйте флаг --no-localhost.

login:ci Поддержка прекращена. Вместо этого используйте Application Default Credentials с сервисным аккаунтом Google Cloud (GOOGLE_APPLICATION_CREDENTIALS).
Создайте токен аутентификации для использования в неинтерактивных средах.
login:add Войдите в дополнительный аккаунт Google.
login:list Получить список всех аутентифицированных аккаунтов Google.
login:use \
EMAIL_ADDRESS
Установите активный аккаунт Google.
logout Выйдите из аккаунта Google в CLI.
open Откройте браузер и перейдите к ресурсам проекта.
projects:list Посмотреть список всех проектов Firebase, к которым у вас есть доступ.
use

Установите активный проект Firebase для CLI.

Подробнее об управлении псевдонимами проектов…

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

Команда Описание
Управление проектами Firebase
projects:addfirebase Добавьте конфигурации и включите сервисы Firebase в существующем проекте Google Cloud.
projects:create Создайте новый проект Google Cloud, а затем добавьте в него конфигурации и включите сервисы, относящиеся к Firebase.
projects:list Посмотреть список всех проектов Firebase, к которым у вас есть доступ.
Управление приложениями Firebase (iOS, Android, веб-приложения)
apps:create Создайте новое приложение Firebase.
apps:list Вывести список всех зарегистрированных приложений Firebase в активном проекте Firebase.
apps:sdkconfig \
[PLATFORM] \
[FIREBASE_APP_ID]

Вывести конфигурацию Firebase для указанного приложения Firebase.

  • PLATFORM может быть IOS, ANDROID или WEB (без учета регистра). Если вы не укажете идентификатор, CLI предложит выбрать приложение из списка всех приложений Firebase в активном проекте Firebase. Если в активном проекте Firebase только одно приложение Firebase, CLI автоматически выберет его.
  • FIREBASE_APP_ID – идентификатор приложения Firebase (требуется сначала указать PLATFORM). Если этот параметр не указан, CLI автоматически выберет приложение, если оно одно, или предложит выбрать, если их несколько.

Если CLI работает в неинтерактивном режиме:

  • Если в активном проекте Firebase только одно приложение Firebase, то можно опустить и PLATFORM, и FIREBASE_APP_ID.
  • Если в активном проекте Firebase несколько приложений Firebase, необходимо указать PLATFORM (и FIREBASE_APP_ID, если в проекте несколько приложений Firebase для этой платформы).

Эта команда поддерживает следующий необязательный флаг:

  • -o или --out [FILENAME]
    Записать выходные данные конфигурации в файл, а не в стандартный вывод. Если параметр FILENAME не указан, по умолчанию используется название файла, зависящее от платформы (GoogleService-Info.plist для iOS, google-services.json для Android или firebase-js-config.json для веб-приложений). Если целевой файл уже существует, CLI предложит подтвердить перезапись (или выдаст ошибку в неинтерактивном режиме).
Управление хешами сертификатов SHA (только для Android)
apps:android:sha:create \
FIREBASE_ANDROID_APP_ID \
SHA_HASH
Добавляет указанный хеш сертификата SHA в указанное приложение Firebase для Android.
apps:android:sha:delete \
FIREBASE_ANDROID_APP_ID \
SHA_ID
Удаляет указанный сертификат SHA (идентифицируемый по его SHA_ID из apps:android:sha:list) из указанного приложения Firebase для Android.
apps:android:sha:list \
FIREBASE_ANDROID_APP_ID
Выводит список всех хешей сертификатов SHA для указанного приложения Firebase для Android.

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

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

Команда Описание
deploy

Разверните код и ресурсы из каталога проекта в активном проекте Firebase.

Для выполнения этой команды в каталоге проекта должен быть файл конфигурации firebase.json.

Подробнее о развертывании в проекте Firebase…

serve

Запустите локальный сервер, чтобы протестировать конфигурацию Firebase Hosting и/или локальный HTTP-запрос Cloud Functions (например, с помощью --only hosting или --only functions).

Для выполнения этой команды в каталоге проекта должен быть файл конфигурации firebase.json.

Подробнее о локальном показе и тестировании…

Команды App Distribution

Команда Описание
appdistribution:distribute \
RELEASE_BINARY_FILE \
--app FIREBASE_APP_ID
Загрузить указанный двоичный файл выпуска (.apk, .aab или .ipa) и сделать его доступным для тестировщиков указанного приложения Firebase.
appdistribution:testers:add \
[EMAILS...]

Добавьте одного или нескольких тестировщиков (указанных в виде разделенных пробелами EMAILS) в активный проект Firebase. Если параметр EMAILS не указан, необходимо передать --file FILE.

Эта команда только добавляет тестировщиков, которых ещё нет в проекте. Она не удаляет и не перезаписывает существующих тестировщиков.

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

  • --file FILE
    Укажите путь к непустому файлу, в котором через запятую или с новой строки перечислены адреса электронной почты тестировщиков. Если переданы оба параметра (EMAILS и --file), приоритет имеет EMAILS.
  • --group-alias GROUP_ALIAS
    Также добавьте указанных тестировщиков в группу, обозначенную как GROUP_ALIAS.
appdistribution:testers:remove \
[EMAILS...]

Удалить тестировщиков (указываются через пробел в EMAILS) из активного проекта Firebase. Если параметр EMAILS опущен, необходимо передать --file FILE.

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

  • --file FILE
    Укажите путь к файлу, в котором через запятую или с новой строки перечислены адреса электронной почты тестировщиков, которых нужно удалить. Если переданы оба EMAILS --file параметра, приоритет имеет EMAILS.
  • --group-alias GROUP_ALIAS
    Удалить указанных тестировщиков только из группы тестирования, определенной параметром GROUP_ALIAS, а не из активного проекта Firebase.
appdistribution:testers:list Показать список тестировщиков в активном проекте Firebase.
appdistribution:groups:create \
DISPLAY_NAME \
[GROUP_ALIAS]
Создать группу тестировщиков с указанным DISPLAY_NAME и необязательным GROUP_ALIAS.
Если GROUP_ALIAS не указан, псевдоним автоматически генерируется из DISPLAY_NAME.
appdistribution:groups:delete \
GROUP_ALIAS
Удалить группу тестировщиков с указанным псевдонимом.
appdistribution:groups:list Список всех групп тестировщиков в активном проекте Firebase.

Команды App Hosting

Команда Описание
apphosting:backends:create \
--backend BACKEND_ID \
--primary-region REGION_NAME \
--app FIREBASE_WEB_APP_ID

Создайте набор управляемых ресурсов, связанных с одной базой кода, которая составляет серверную часть App Hosting.

Эта команда поддерживает следующие необязательные (но рекомендуемые) флаги:

  • --backend BACKEND_ID
    Укажите идентификатор для нового бэкенда App Hosting. Если вы не укажете его в интерактивном режиме, CLI предложит вам ввести идентификатор бэкенда.
  • --primary-region REGION_NAME
    Укажите основной регион, в котором нужно создать серверную часть App Hosting. Если вы не укажете его в интерактивном режиме, CLI предложит вам выбрать местоположение. Подробнее о поддерживаемых регионах для App Hosting…
  • -a или --app FIREBASE_WEB_APP_ID
    Укажите идентификатор существующего веб-приложения Firebase. Если этого не сделать, CLI автоматически создаст и свяжет новое веб-приложение Firebase с названием, указанным в BACKEND_ID (если в проекте не достигнута квота на приложения Firebase).

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

  • --root-dir ROOT_DIR
    Укажите корневой каталог приложения относительно хранилища. Если в интерактивном режиме этот параметр не указан, CLI предложит вам выбрать каталог (по умолчанию – /).
  • -s или --service-account SERVICE_ACCOUNT
    Укажите сервисный аккаунт, используемый для запуска сервера. Если не указано, по умолчанию используется сервисный аккаунт App Hosting.

Если CLI работает в неинтерактивном режиме, то требуются оба параметра: --backend и --primary-region.

apphosting:backends:get \
BACKEND_ID

Получить сведения, включая общедоступный URL, указанного бэкенда App Hosting.

Если в нескольких регионах есть серверная инфраструктура с указанным значением BACKEND_ID, CLI регистрирует предупреждение и выводит первую соответствующую серверную инфраструктуру (обратите внимание, что эта команда не поддерживает флаг --location).

apphosting:backends:list Вывести список всех активных бэкендов App Hosting в активном проекте Firebase.
apphosting:backends:delete \
BACKEND_ID

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

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

Если в нескольких регионах есть серверная часть с указанным BACKEND_ID, CLI в интерактивном режиме предложит выбрать, какие серверные части нужно удалить. Если переданы -f или --force, произойдет сбой (обратите внимание, что эта команда не поддерживает флаг --location).

apphosting:rollouts:create \
BACKEND_ID

Создать вручную запуск для указанного бэкенда App Hosting.

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

  • -b или --git-branch BRANCH_NAME
    Разверните последнюю фиксацию в указанной ветке Git.
  • -g или --git-commit COMMIT_ID
    Развернуть указанный коммит Git.

Если несколько регионов содержат серверную часть с указанным BACKEND_ID, эта команда завершается ошибкой как в интерактивном, так и в неинтерактивном режимах (обратите внимание, что эта команда не поддерживает флаг --location).

apphosting:secrets:set \
SECRET_NAME \
--data-file DATA_FILE_PATH

Создайте или обновите секрет в Google Cloud Secret Manager с указанным SECRET_NAME.

Эта команда поддерживает следующий необязательный (но рекомендуемый) флаг:

  • --data-file DATA_FILE_PATH
    Укажите путь, по которому будут считываться секретные данные, или задайте значение -, чтобы считывать секретные данные из стандартного ввода. Если этот параметр не указан, CLI предложит ввести значение секрета (с маскированным вводом) или прочитает его из стандартного ввода, если он перенаправлен.

Эта команда также поддерживает следующий необязательный флаг:

  • -l или --location REGION_NAME
    При создании нового секрета ограничьте его репликацию указанным регионом Google Cloud Secret Manager. Если не указано, Google Cloud Secret Manager использует автоматическую глобальную репликацию. (Правила репликации нельзя изменить для существующих секретов.)

Если CLI работает в неинтерактивном режиме, передайте --data-file DATA_FILE_PATH (или передайте секретное значение в стандартный ввод).

apphosting:secrets:grantaccess \
SECRET_NAME

Предоставьте разрешения на доступ к указанным секретам набору адресов электронной почты пользователей или групп или сервисному аккаунту бэкенда. Затем App Hosting может получить доступ к секретам во время сборки или выполнения.

Вы можете передать одно или несколько значений SECRET_NAME, разделенных запятой. Необходимо указать либо --emails, либо --backend (эти два флага являются взаимоисключающими).

Предоставьте доступ группе пользователей или адресов электронной почты:

  • -e или --emails EMAILS
    Укажите список адресов электронной почты пользователей или групп, разделенный запятыми, которым нужно предоставить доступ к указанным секретам.

Предоставьте доступ к сервисному аккаунту бэкенда:

  • -b или --backend BACKEND_ID
    Укажите серверную часть App Hosting, сервисному аккаунту которой должен быть предоставлен доступ к указанным секретам.
  • -l или --location REGION_NAME
    Укажите регион для серверной части App Hosting. Если этот параметр не указан, CLI ищет соответствующий BACKEND_ID во всех регионах. Если серверная часть с таким идентификатором есть в нескольких регионах, CLI предлагает выбрать один из них в интерактивном режиме (в неинтерактивном режиме параметр --location обязателен).
apphosting:secrets:revokeaccess \
SECRET_NAME

Отзовите разрешения на доступ к указанным секретам у набора адресов электронной почты пользователей или групп или у сервисного аккаунта бэкенда.

Вы можете передать одно или несколько значений SECRET_NAME, разделенных запятой. Необходимо указать либо --emails, либо --backend (эти два флага являются взаимоисключающими).

Отменить доступ для набора адресов электронной почты пользователей или групп:

  • -e или --emails EMAILS
    Укажите список адресов электронной почты пользователей или групп, разделенный запятыми, у которых нужно отозвать доступ к указанным секретам.

Отзовите доступ у сервисного аккаунта бэкенда:

  • -b или --backend BACKEND_ID
    Укажите серверную часть App Hosting, у сервисного аккаунта которой должен быть отозван доступ к указанным секретам.
  • -l или --location REGION_NAME
    Укажите регион для серверной части App Hosting. Если этот параметр не указан, CLI ищет соответствующий BACKEND_ID во всех регионах. Если серверная часть с таким идентификатором есть в нескольких регионах, CLI предлагает выбрать один из них в интерактивном режиме (в неинтерактивном режиме параметр --location обязателен).
apphosting:secrets:describe \
SECRET_NAME
Получите метаданные и версии для указанного названия секрета.
apphosting:secrets:access \
SECRET_NAME[@VERSION]
Получить доступ к значению секрета с указанным названием в указанной версии.
Если [@VERSION] не указан, по умолчанию используется последняя версия.

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

Команда Описание
auth:export \
DATA_FILE

Экспортируйте аккаунты пользователей активного проекта Firebase в файл JSON или CSV.

Подробную информацию можно найти на странице auth:import and auth:export.

auth:import \
DATA_FILE

Импортируйте аккаунты пользователей из файла JSON или CSV в активный проект Firebase.

Подробную информацию можно найти на странице auth:import and auth:export.

Команды Cloud Firestore

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

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

Узнайте о доступных местоположениях для версии Standard, версии Enterprise и совместимости с MongoDB.

firestore:databases:create \
DATABASE_ID \
--location REGION_NAME

Создайте экземпляр базы данных Cloud Firestore (в нативном режиме) в указанном местоположении.
Выполните команду firebase firestore:locations, чтобы получить список доступных местоположений для REGION_NAME.

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

  • --delete-protection DELETION_PROTECTION_STATE
    Разрешить или запретить удаление указанного экземпляра базы данных Cloud Firestore. Допустимые значения: ENABLED и DISABLED. Если не указано, по умолчанию используется DISABLED.
  • --point-in-time-recovery PITR_STATE
    Укажите, включено ли восстановление на определенный момент времени для указанного экземпляра базы данных Cloud Firestore. Допустимые значения: ENABLED и DISABLED. Если не указано, по умолчанию используется DISABLED.
  • --edition EDITION
    Задайте версию для указанного экземпляра базы данных Cloud Firestore.
    Допустимые значения: standard или enterprise. Если не указано, по умолчанию используется standard.
  • --firestore-data-access ENABLEMENT_STATE
    Только для версии Enterprise. Управление доступностью API Cloud Firestore. Допустимые значения: ENABLED и DISABLED. Если не указано, по умолчанию используется ENABLED (однако если --mongodb-compatible-data-access – ENABLED, по умолчанию используется DISABLED).
  • --mongodb-compatible-data-access ENABLEMENT_STATE
    (Только в версии Enterprise) Управление доступностью API, совместимого с MongoDB. Допустимые значения: ENABLED и DISABLED. Если не указано, по умолчанию используется DISABLED.
  • --realtime-updates ENABLEMENT_STATE
    Только в версии Enterprise Включите или отключите функцию "Смотреть" (в реальном времени). Допустимые значения: ENABLED и DISABLED. Если не указано, по умолчанию используется ENABLED, когда --firestore-data-access – ENABLED (в противном случае используется значение по умолчанию для сервера).
    Чтобы установить этот флаг, для параметра --firestore-data-access необходимо задать значение ENABLED.
firestore:databases:list

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

firestore:databases:get \
[DATABASE_ID]

Получение конфигурации базы данных для указанного экземпляра базы данных Cloud Firestore.
Если DATABASE_ID не указан, по умолчанию используется стандартный экземпляр базы данных Cloud Firestore активного проекта Firebase.

В таблице будут указаны значения Edition для всех баз данных. Поля статуса доступа к корпоративным данным и обновлениям в реальном времени включаются в необработанные выходные данные JSON, только если передается --json.

firestore:databases:update \
DATABASE_ID

Обновите конфигурацию базы данных указанного экземпляра базы данных Cloud Firestore.

Необходимо указать хотя бы один флаг (для пропущенных флагов сохраняются текущие настройки). Эта команда поддерживает следующие флаги:

  • --delete-protection DELETION_PROTECTION_STATE
    Разрешить или запретить удаление указанного экземпляра базы данных Cloud Firestore. Допустимые значения: ENABLED и DISABLED.
  • --point-in-time-recovery PITR_STATE
    Укажите, включено ли восстановление на определенный момент времени для указанного экземпляра базы данных Cloud Firestore. Допустимые значения: ENABLED и DISABLED.
firestore:databases:delete \
DATABASE_ID

Удалить указанный экземпляр базы данных Cloud Firestore.

Перед выполнением действия в CLI появится запрос на подтверждение. Чтобы пропустить запрос на подтверждение (требуется в неинтерактивном режиме), передайте флаг --force. В отличие от других команд, firestore:databases:delete не поддерживает сокращение -f.

firestore:indexes

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

Эта команда поддерживает следующий необязательный флаг:

  • --database DATABASE_ID
    Укажите экземпляр базы данных Cloud Firestore, для которого нужно получить список индексов. Если этот параметр не указан, будут перечислены индексы для экземпляра базы данных Cloud Firestore по умолчанию активного проекта Firebase.
firestore:delete \
[PATH]

Удаление документов по указанному пути к базе данных (PATH) из экземпляра базы данных Cloud Firestore.

Параметр PATH обязателен, если не передается --all-collections. Удалить коллекцию или документ с подколлекциями можно, только если передать -r/--recursive или --shallow.

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

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

  • --database DATABASE_ID
    Укажите базу данных Cloud Firestore, из которой нужно удалить документы. Если этот параметр не указан, документы удаляются из экземпляра базы данных Cloud Firestore по умолчанию активного проекта Firebase.
  • --all-collections
    Удалите все коллекции в базе данных. (При использовании этого флага не передавайте PATH).
  • -r или --recursive
    Рекурсивно удаляет все документы и подколлекции по указанному пути. Нельзя передавать вместе с --shallow.
  • --shallow
    Удалить только документы на указанном уровне и игнорировать документы во вложенных коллекциях. Обратите внимание, что вложенные документы могут остаться без родительских. Нельзя передавать вместе с -r или --recursive.

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

Команды Cloud Functions for Firebase

Подробную информацию вы найдете в документации по настройке среды.

Команда Описание
functions:config:export

Экспортируйте устаревшую конфигурацию среды выполнения functions.config() активного проекта Firebase в виде одного секрета JSON в Google Cloud Secret Manager (для использования с defineJsonSecret).

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

  • --secret SECRET_NAME
    Укажите название секретного ключа, который нужно создать или обновить в Google Cloud Secret Manager. Если его не указать, CLI предложит ввести название (по умолчанию – FUNCTIONS_CONFIG_EXPORT).
  • -f или --force
    Использовать название секрета по умолчанию (FUNCTIONS_CONFIG_EXPORT) без запроса и добавить новую версию секрета без подтверждения, если секрет уже существует. (Обязательно для добавления новой версии в существующий секрет в неинтерактивном режиме.)
functions:delete \
FUNCTION_NAME...

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

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

functions:list Вывести список всех развернутых функций в активном проекте Firebase.
functions:log Чтение журналов всех развернутых функций Cloud Functions в активном проекте Firebase.
functions:secrets:access \
SECRET_NAME[@VERSION]
Получить доступ к значению секрета с указанным названием в указанной версии.
Если [@VERSION] не указан, по умолчанию используется последняя версия.
functions:secrets:destroy \
SECRET_NAME[@VERSION]

Удалить указанный секрет указанной версии.
Если [@VERSION] не указан, по умолчанию удаляется последняя версия.

Перед выполнением действия CLI показывает запрос на подтверждение. В неинтерактивном режиме подтверждение выполняется автоматически без -f или --force. Однако если секрет по-прежнему привязан к конечным точкам активных функций, для его уничтожения необходимо передать -f или --force.

functions:secrets:get \
SECRET_NAME
Получите метаданные и версии для указанного названия секрета.
functions:secrets:prune Удалите все неиспользуемые секреты в активном проекте Firebase.
functions:secrets:set \
SECRET_NAME
Создать или обновить указанный секрет.
functions:shell Запустите локальную интерактивную оболочку для тестирования функций.
functions:config:clone \
--from PROJECT_ID

Поддержка прекращена.
Клонировать среду другого проекта в активный проект Firebase.

Этот параметр по умолчанию отключен. Чтобы использовать эту команду, сначала выполните firebase experiments:enable legacyRuntimeConfigCommands.

functions:config:get Поддержка прекращена.
Получите существующие значения конфигурации активного Cloud Functions проекта Firebase.
functions:config:set \
KEY=VALUE...

Поддержка прекращена.
Храните значения конфигурации среды выполнения для активного проекта Firebase Cloud Functions.

Этот параметр по умолчанию отключен. Чтобы использовать эту команду, сначала выполните firebase experiments:enable legacyRuntimeConfigCommands.

functions:config:unset \
KEY...

Поддержка прекращена.
Удалить значения из конфигурации среды выполнения активного проекта Firebase.

Этот параметр отключен по умолчанию. Чтобы использовать эту команду, сначала выполните firebase experiments:enable legacyRuntimeConfigCommands.

Команды 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), для указанного приложения Firebase и свяжите его с идентификатором файла сопоставления, объявленным в указанном файле ресурсов Android (XML).
crashlytics:symbols:upload \
--app FIREBASE_APP_ID \
PATH/TO/SYMBOLS...

Создайте файл символов, совместимый с Crashlytics, для сбоев нативных библиотек Android (например, Android NDK или сборок Android для Unity или Flutter) и загрузите его на серверы Firebase.

Эта команда поддерживается только на устройствах Android. Для dSYM-файлов iOS используйте скрипт upload-symbols из Apple SDK.

Команды Extensions

Команда Описание
ext Показать информацию о том, как использовать команды Firebase Extensions.
Вывести список экземпляров расширений, установленных в активном проекте.
ext:configure \
EXTENSION_INSTANCE_ID
Измените значения параметров экземпляра расширения в манифесте расширения.
ext:info \
PUBLISHER_ID/EXTENSION_ID
Вывести подробную информацию о расширении.
ext:install \
PUBLISHER_ID/EXTENSION_ID
Добавьте новый экземпляр расширения в манифест расширения.
ext:sdk:install \
EXTENSION_NAME
Установите SDK для определения расширений в функциях.
ext:list Показать список всех экземпляров расширений, установленных в проекте Firebase.
Выведите идентификатор экземпляра для каждого расширения.
ext:uninstall \
EXTENSION_INSTANCE_ID
Удалите экземпляр расширения из манифеста расширения.
ext:update \
EXTENSION_INSTANCE_ID \
[UPDATE_SOURCE]

Обновите экземпляр расширения до последней версии (или до указанной опубликованной версии UPDATE_SOURCE) в манифесте расширения. Обратите внимание, что для UPDATE_SOURCE локальные пути и URL не поддерживаются.

Перед выполнением действия в CLI появится запрос на подтверждение. Чтобы пропустить этот запрос в интерактивном режиме, можно передать -f или --force. Однако ext:update – это команда, которая работает только в интерактивном режиме и не поддерживается в неинтерактивном режиме даже с -f или --force.

ext:export Экспортируйте все установленные экземпляры расширения из проекта в манифест расширения.

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

Команда Описание
ext:dev:init Инициализирует скелетную базу кода для нового расширения в текущем каталоге.
ext:dev:list \
PUBLISHER_ID
Вывести список всех расширений, загруженных издателем.
ext:dev:register Отключено.
Регистрация новых идентификаторов профилей издателей больше не поддерживается.
ext:dev:deprecate \
PUBLISHER_ID/EXTENSION_ID \
[VERSION_PREDICATE]
Объявить устаревшими версии расширения, соответствующие предикату версии.
Предикат версии может быть одной версией (например, 1.0.0) или диапазоном версий (например, >1.0.0).
Если предикат версии не указан, устаревшими считаются все версии расширения.
ext:dev:undeprecate \
PUBLISHER_ID/EXTENSION_ID \
VERSION_PREDICATE
Отменить прекращение поддержки версий расширения, соответствующих предикату версии.
Предикат версии может быть одной версией (например, 1.0.0) или диапазоном версий (например, >1.0.0).
ext:dev:upload \
PUBLISHER_ID/EXTENSION_ID
Загрузите новую версию расширения.
ext:dev:usage \
PUBLISHER_ID
Показывать количество установок и показатели использования для расширений, загруженных издателем.

Команды Hosting

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

Прекратить показ трафика Firebase Hosting для сайта Hosting.

После выполнения этой команды при попытке перейти по URL Hosting будет появляться сообщение "Сайт не найден".

Эта команда поддерживает следующий необязательный флаг:

  • --site SITE_ID
    Укажите сайт Hosting, который нужно отключить. Если не указано, по умолчанию используется сайт Hosting по умолчанию активного проекта Firebase.

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

Управление сайтами (Hosting)
hosting:sites:create \
[SITE_ID]

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

Если CLI работает в неинтерактивном режиме, то требуется SITE_ID.

Эта команда поддерживает следующий необязательный флаг:

  • --app FIREBASE_APP_ID
    Укажите существующее веб-приложение Firebase, которое нужно связать с новым сайтом Hosting.
hosting:sites:delete \
SITE_ID

Удалить указанный сайт Hosting.

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

hosting:sites:get \
SITE_ID

Получение сведений об указанном сайте Hosting.

В выходных данных таблицы указывается идентификатор сайта, URL по умолчанию и идентификатор веб-приложения Firebase (если оно связано). Дополнительные метаданные (например, является ли сайт DEFAULT_SITE или USER_SITE) включаются в необработанные выходные данные JSON, только если передается --json.

hosting:sites:list Вывести список всех сайтов Hosting в активном проекте Firebase.
Управление каналами предварительного просмотра
hosting:channel:create \
[CHANNEL_ID]

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

Если CLI работает в неинтерактивном режиме, то требуется CHANNEL_ID.

Эта команда поддерживает следующий необязательный флаг:

  • --site SITE_ID
    Укажите сайт Hosting, на котором нужно создать канал предварительного просмотра. Если не указано, по умолчанию используется сайт Hosting по умолчанию активного проекта Firebase.
hosting:channel:delete \
CHANNEL_ID

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

Эта команда поддерживает следующий необязательный флаг:

  • --site SITE_ID
    Укажите сайт Hosting, с которого нужно удалить канал предварительного просмотра. Если не указано, по умолчанию используется сайт Hosting по умолчанию активного проекта Firebase.

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

hosting:channel:deploy \
CHANNEL_ID

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

Эта команда поддерживает следующий необязательный флаг:

  • --only TARGETS
    Укажите разделенный запятыми список целевых объектов Hosting, настроенных в firebase.json для развертывания в канале предварительной версии. Если этот параметр не указан, развертывание выполняется на всех сайтах Hosting, настроенных в файле firebase.json.
hosting:channel:list

Получите список всех каналов (включая канал live) для сайта Hosting.

Эта команда поддерживает следующий необязательный флаг:

  • --site SITE_ID
    Укажите сайт Hosting, для которого нужно получить список каналов. Если не указано, по умолчанию используется сайт Hosting по умолчанию активного проекта Firebase.
hosting:channel:open \
[CHANNEL_ID]

Открывает в браузере URL указанного канала или возвращает URL, если открыть его в браузере невозможно.

Если CLI работает в неинтерактивном режиме, то требуется CHANNEL_ID.

Эта команда поддерживает следующий необязательный флаг:

  • --site SITE_ID
    Укажите сайт Hosting для канала предварительного просмотра. Если не указано, по умолчанию используется сайт Hosting по умолчанию активного проекта Firebase.
Клонирование версий
hosting:clone \
SOURCE_SITE_ID:SOURCE_CHANNEL_ID \
TARGET_SITE_ID:TARGET_CHANNEL_ID

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

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

hosting:clone \
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.

После создания экземпляров вы можете управлять ими, как описано в разделе Управление определенными экземплярами и взаимодействие с ними с помощью CLI.

Команда Описание
database:get \
PATH

Получить данные из указанного местоположения базы данных (PATH) для экземпляра Realtime Database и показать их в формате JSON. Поддерживает запросы к проиндексированным данным.

Эта команда поддерживает следующий необязательный флаг:

  • --instance DATABASE_NAME
    Укажите экземпляр Realtime Database для действия. Если не указано, по умолчанию используется экземпляр Realtime Database по умолчанию активного проекта Firebase.
database:instances:create \
DATABASE_NAME \
--location REGION_NAME

Создает экземпляр Realtime Database с указанным DATABASE_NAME в указанном местоположении.

Эта команда поддерживает следующий необязательный (но рекомендуемый) флаг:

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

database:instances:list

Перечислить все экземпляры Realtime Database в активном проекте Firebase.

Эта команда поддерживает следующий необязательный флаг:

  • --location REGION_NAME
    Укажите местоположение, чтобы получить список экземпляров Realtime Database. Доступные названия регионов можно найти в статье Местоположения для Realtime Database.
database:profile

Создайте профиль операций для экземпляра Realtime Database.
Подробнее о типах операций Realtime Database…

Эта команда поддерживает следующий необязательный флаг:

  • --instance DATABASE_NAME
    Укажите экземпляр Realtime Database для действия. Если не указано, по умолчанию используется экземпляр Realtime Database по умолчанию активного проекта Firebase.
database:push \
PATH \
[INFILE]

Добавление новых данных в список в указанном местоположении базы данных (PATH) в экземпляре Realtime Database.

Принимает входные данные из файла (INFILE), stdin или флага -d (--data).

Эта команда поддерживает следующий необязательный флаг:

  • --instance DATABASE_NAME
    Укажите экземпляр Realtime Database для действия. Если не указано, по умолчанию используется экземпляр Realtime Database по умолчанию активного проекта Firebase.
database:remove \
PATH

Удалить все данные в указанном местоположении базы данных (PATH) в экземпляре Realtime Database.

Эта команда поддерживает следующий необязательный флаг:

  • --instance DATABASE_NAME
    Укажите экземпляр Realtime Database для действия. Если не указано, по умолчанию используется экземпляр Realtime Database по умолчанию активного проекта Firebase.

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

database:set \
PATH \
[INFILE]

Заменить все данные в указанном месте базы данных (PATH) в экземпляре Realtime Database.

Принимает входные данные из файла (INFILE), stdin или флага -d (--data).

Эта команда поддерживает следующий необязательный флаг:

  • --instance DATABASE_NAME
    Укажите экземпляр Realtime Database для действия. Если не указано, по умолчанию используется экземпляр Realtime Database по умолчанию активного проекта Firebase.

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

database:update \
PATH \
[INFILE]

Выполнить частичное обновление в указанном месте базы данных (PATH) в экземпляре Realtime Database.

Принимает входные данные из файла (INFILE), stdin или флага -d (--data).

Эта команда поддерживает следующий необязательный флаг:

  • --instance DATABASE_NAME
    Укажите экземпляр Realtime Database для действия. Если не указано, по умолчанию используется экземпляр Realtime Database по умолчанию активного проекта Firebase.

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

Команды Remote Config

Эти команды и примеры их использования подробно описаны в статье Как программно изменять Remote Config.

Команда Описание
remoteconfig:versions:list

Список всех версий шаблона Remote Config.

Эта команда поддерживает следующий необязательный флаг:

  • --limit NUMBER_OF_VERSIONS
    Укажите максимальное количество версий, которые нужно вернуть. Укажите 0, чтобы вернуть все существующие версии. Если не указано, по умолчанию используется 10.
remoteconfig:get \
--version-number VERSION_NUMBER

Получение сведений о шаблоне Remote Config указанной версии.

Эта команда поддерживает следующие необязательные (но рекомендуемые) флаги:

  • -v или --version-number VERSION_NUMBER
    Укажите версию шаблона Remote Config, которую нужно получить. Если параметр не указан, по умолчанию используется последняя версия.
  • -o или --output FILENAME
    Записать выходные данные в JSON-файл с указанным названием файла вместо того, чтобы выводить их в виде таблицы.
remoteconfig:rollback \
--version-number VERSION_NUMBER

Откатить шаблон Remote Config до указанной предыдущей версии.

Эта команда поддерживает следующий необязательный (но рекомендуемый) флаг:

  • -v или --version-number VERSION_NUMBER
    Укажите версию шаблона Remote Config, к которой нужно выполнить откат. Если этот параметр не указан, по умолчанию используется предыдущая версия (текущая версия – 1).

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

remoteconfig:experiments:list

Показать все эксперименты Remote Config в активном проекте Firebase.

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

  • --filter EXPRESSION
    Укажите выражение для фильтрации экспериментов.
  • --pageSize NUMBER
    Укажите количество экспериментов, которые нужно возвращать на страницу. Если не указано, по умолчанию используется 10.
  • --pageToken TOKEN
    Укажите начальное смещение для списка.
remoteconfig:experiments:get \
EXPERIMENT_ID

Получение сведений об указанном эксперименте Remote Config.

В таблице будут указаны название ресурса, отображаемое название, статус (PENDING, RUNNING, DONE или EXPIRED), время начала и окончания, варианты (названия и веса распределения трафика), а также настроенные цели и показатели. Описание эксперимента включается в необработанные выходные данные JSON, только если передается --json.

remoteconfig:experiments:delete \
EXPERIMENT_ID

Удалить указанный эксперимент Remote Config.

Перед выполнением действия CLI показывает запрос на подтверждение. Флаги -f и --force не поддерживаются. В неинтерактивном режиме по умолчанию выбирается вариант "нет", и команда завершается без удаления эксперимента.

remoteconfig:rollouts:list

Вывести список всех развертываний Remote Config в активном проекте Firebase.

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

  • --filter EXPRESSION
    Укажите выражение для фильтрации развертываний.
  • --pageSize NUMBER
    Укажите количество выпусков, которое нужно возвращать на страницу. Если не указано, по умолчанию используется 10.
  • --pageToken TOKEN
    Укажите начальное смещение для списка.
remoteconfig:rollouts:get \
ROLLOUT_ID
Получить сведения об указанном развертывании Remote Config.
remoteconfig:rollouts:delete \
ROLLOUT_ID

Удалить указанное внедрение Remote Config.

Перед выполнением действия CLI показывает запрос на подтверждение. Флаги -f и --force не поддерживаются. (В неинтерактивном режиме по умолчанию выбирается вариант "Нет", и команда завершается без удаления развертывания.)

Команды SQL Connect

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

Команда Описание
dataconnect:services:list Показать все развернутые сервисы SQL Connect в активном проекте Firebase.
dataconnect:sql:diff

Показать различия между локальной схемой SQL Connect и схемой базы данных Cloud SQL.

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

  • --service SERVICE_ID
    Укажите идентификатор сервиса SQL Connect. Если не указано, используется один сервис, настроенный в firebase.json. Если настроено несколько сервисов, команда не будет выполнена, пока вы не укажете --service и, если необходимо, --location.
  • --location LOCATION
    Укажите местоположение сервиса SQL Connect. Требуется, только если идентификатор сервиса используется в нескольких местоположениях.
dataconnect:sql:migrate

Перенесите схему базы данных Cloud SQL, чтобы она соответствовала локальной схеме SQL Connect.

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

  • --service SERVICE_ID
    Укажите идентификатор сервиса SQL Connect. Если этот параметр не указан, используется единственный сервис, настроенный в firebase.json. Если настроено несколько сервисов, команда не выполняется, пока вы не укажете --service и, если нужно, --location.
  • --location LOCATION
    Укажите местоположение сервиса SQL Connect. Требуется, только если идентификатор сервиса используется в нескольких местоположениях.

В интерактивном режиме CLI перед выполнением действия показывает запрос на подтверждение. В неинтерактивном режиме недеструктивные переносы выполняются автоматически, а деструктивные изменения отменяются, если вы не передадите -f или --force (что также пропускает запросы подтверждения в интерактивном режиме).

dataconnect:sql:grant \
--role SQL_ROLE \
--email EMAIL_ADDRESS

Предоставляет указанную роль SQL_ROLE (owner, writer или reader) указанному пользователю или сервисному аккаунту (EMAIL_ADDRESS).

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

  • --service SERVICE_ID
    Укажите идентификатор сервиса SQL Connect. Если этот параметр не указан, используется единственный сервис, настроенный в firebase.json. Если настроено несколько сервисов, команда не выполняется, пока вы не укажете --service и, если нужно, --location.
  • --location LOCATION
    Укажите местоположение сервиса SQL Connect. Требуется, только если идентификатор сервиса используется в нескольких местоположениях.
dataconnect:sdk:generate

Создавайте типизированные SDK для коннекторов SQL Connect.

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

  • --service SERVICE_ID
    Укажите идентификатор сервиса SQL Connect. Если этот параметр не указан, SDK генерируются для всех настроенных сервисов.
  • --location LOCATION
    Укажите местоположение сервиса SQL Connect. Требуется, только если идентификатор сервиса используется в нескольких местоположениях.
  • --watch
    Следите за изменениями в GQL-файлах коннектора и повторно генерируйте SDK при появлении обновлений.