Интерфейс командной строки Firebase ( GitHub ) предоставляет множество инструментов для управления, просмотра и развертывания проектов Firebase.
Перед использованием Firebase CLI необходимо настроить проект Firebase .
Настройте или обновите интерфейс командной строки.
Установите Firebase CLI.
Вы можете установить Firebase CLI, используя способ, соответствующий вашей операционной системе, уровню опыта и/или сценарию использования. Независимо от способа установки CLI, вы получите доступ к тем же функциям и команде firebase .
Windows
Установить Firebase CLI для Windows можно одним из следующих способов:
| Вариант | Описание | Рекомендуется для... |
|---|---|---|
| автономный бинарный | Загрузите автономный исполняемый файл для CLI. Затем вы сможете получить доступ к исполняемому файлу, чтобы открыть оболочку, в которой можно выполнить команду firebase . | Новые разработчики Разработчики, не использующие Node.js или незнакомые с ним. |
| npm | Используйте npm (менеджер пакетов Node) для установки CLI и включения глобально доступной команды firebase . | Разработчики, использующие Node.js |
автономный бинарный
Чтобы загрузить и запустить исполняемый файл Firebase CLI, выполните следующие действия:
Загрузите исполняемый файл Firebase CLI для Windows .
Получите доступ к исполняемому файлу, чтобы открыть оболочку, в которой вы сможете выполнить команду
firebase.Продолжайте входить в систему и тестируйте интерфейс командной строки .
npm
Чтобы установить Firebase CLI с помощью npm (менеджера пакетов Node), выполните следующие действия:
Установите Node.js с помощью nvm-windows (менеджера версий Node). Установка Node.js автоматически устанавливает инструменты команды
npm.Установите Firebase CLI через
npm, выполнив следующую команду:npm install -g firebase-tools
Эта команда активирует глобально доступную команду
firebase.Продолжайте входить в систему и тестируйте интерфейс командной строки .
macOS или Linux
Установить Firebase CLI для macOS или Linux можно одним из следующих способов:
| Вариант | Описание | Рекомендуется для... |
|---|---|---|
| скрипт автоматической установки | Выполните одну команду, которая автоматически определит вашу операционную систему, загрузит последнюю версию CLI, а затем активирует глобально доступную команду firebase . | Новые разработчики Разработчики, не использующие Node.js или незнакомые с ним. Автоматизированное развертывание в среде CI/CD |
| автономный бинарный | Загрузите автономный исполняемый файл для интерфейса командной строки. Затем вы можете настроить и запустить исполняемый файл в соответствии с вашими рабочими процессами. | Полностью настраиваемые рабочие процессы с помощью интерфейса командной строки. |
| npm | Используйте npm (менеджер пакетов Node) для установки CLI и включения глобально доступной команды firebase . | Разработчики, использующие Node.js |
скрипт автоматической установки
Для установки Firebase CLI с помощью скрипта автоматической установки выполните следующие действия:
Выполните следующую команду cURL:
curl -sL https://firebase.tools | bash
Этот скрипт автоматически определяет вашу операционную систему, загружает последнюю версию Firebase CLI, а затем активирует глобально доступную команду
firebase.Продолжайте входить в систему и тестируйте интерфейс командной строки .
Дополнительные примеры и подробности о скрипте автоматической установки см. в исходном коде скрипта по адресу firebase.tools .
автономный бинарный
Чтобы загрузить и запустить исполняемый файл Firebase CLI, предназначенный для вашей операционной системы, выполните следующие действия:
Загрузите исполняемый файл Firebase CLI для вашей ОС: macOS | Linux
(Необязательно) Настройте глобально доступную команду
firebase.- Сделайте исполняемый файл исполняемым, выполнив команду
chmod +x ./firebase_tools.`. - Добавьте путь к исполняемому файлу в переменную PATH.
- Сделайте исполняемый файл исполняемым, выполнив команду
Продолжайте входить в систему и тестируйте интерфейс командной строки .
npm
Чтобы установить Firebase CLI с помощью npm (менеджера пакетов Node), выполните следующие действия:
Установите Node.js с помощью nvm (менеджера версий Node).
Установка Node.js автоматически устанавливает инструменты командыnpm.Установите Firebase CLI через
npm, выполнив следующую команду:npm install -g firebase-tools
Эта команда активирует глобально доступную команду
firebase.Продолжайте входить в систему и тестируйте интерфейс командной строки .
Войдите в систему и протестируйте Firebase CLI.
После установки CLI необходимо пройти аутентификацию. Затем вы можете подтвердить аутентификацию, перечислив свои проекты Firebase.
Войдите в Firebase, используя свою учетную запись Google, выполнив следующую команду:
firebase login
Эта команда подключает ваш локальный компьютер к Firebase и предоставляет вам доступ к вашим проектам Firebase.
Проверьте правильность установки CLI и его доступ к вашей учетной записи, выведя список ваших проектов Firebase. Выполните следующую команду:
firebase projects:list
Отображаемый список должен совпадать со списком проектов Firebase, отображаемым в консоли Firebase .
Обновите CLI до последней версии.
Как правило, рекомендуется использовать самую актуальную версию Firebase CLI.
Способ обновления версии CLI зависит от вашей операционной системы и способа установки CLI.
Windows
- Автономный исполняемый файл : Загрузите новую версию , а затем замените ею существующую в вашей системе.
- npm : Выполните команду
npm install -g firebase-tools
macOS
скрипт автоматической установки : Запустите
curl -sL https://firebase.tools | upgrade=true bashАвтономный исполняемый файл : Загрузите новую версию , а затем замените ею существующую в вашей системе.
npm : Выполните команду
npm install -g firebase-tools
Linux
скрипт автоматической установки : Запустите
curl -sL https://firebase.tools | upgrade=true bashАвтономный исполняемый файл : Загрузите новую версию , а затем замените ею существующую в вашей системе.
npm : Выполните команду
npm install -g firebase-tools
Удалите Firebase CLI.
Способ удаления CLI зависит от вашей операционной системы и способа установки CLI.
Windows
- Автономный исполняемый файл : Удалите загруженный вами исполняемый файл
firebase.exe. - npm : Выполните команду
npm uninstall -g firebase-tools
macOS
скрипт автоматической установки : Запустите
curl -sL https://firebase.tools | uninstall=true bashАвтономный исполняемый файл : Удалите загруженный вами исполняемый файл
firebase. Если вы добавили его местоположение в переменную средыPATH, обязательно удалите его.npm : Выполните команду
npm uninstall -g firebase-tools
Linux
скрипт автоматической установки : Запустите
curl -sL https://firebase.tools | uninstall=true bashАвтономный исполняемый файл : Удалите загруженный вами исполняемый файл
firebase. Если вы добавили его местоположение в переменную средыPATH, обязательно удалите его.npm : Выполните команду
npm uninstall -g firebase-tools
Используйте интерфейс командной строки с системами непрерывной интеграции.
Мы рекомендуем использовать учетные данные приложения по умолчанию при работе с CLI в системах CI для аутентификации.
(Рекомендуется) Использовать учетные данные приложения по умолчанию.
Интерфейс командной строки Firebase обнаружит и будет использовать учетные данные приложения по умолчанию, если они заданы. Самый простой способ аутентификации CLI в CI и других средах без графического интерфейса — это настройка учетных данных приложения по умолчанию .
(Устаревшая версия) Используйте FIREBASE_TOKEN
В качестве альтернативы можно использовать аутентификацию с помощью FIREBASE_TOKEN . Этот способ менее безопасен, чем использование учетных данных приложения по умолчанию, и больше не рекомендуется.
На компьютере с установленным браузером установите Firebase CLI .
Чтобы начать процесс входа в систему, выполните следующую команду:
firebase login:ci
Перейдите по указанной ссылке, затем войдите в систему, используя учетную запись Google.
Вывести новый токен обновления . Текущая сессия CLI останется без изменений.
Сохраните выходной токен безопасным, но доступным способом в вашей системе CI.
Используйте этот токен при выполнении команд
firebase. Вы можете использовать один из следующих двух вариантов:Вариант 1: Сохраните токен в качестве переменной среды
FIREBASE_TOKEN. Ваша система автоматически будет использовать этот токен.Вариант 2: Запускайте все команды
firebaseс флагом--token TOKENв вашей системе CI.
Порядок приоритета загрузки токенов следующий: флаг, переменная окружения, желаемый проект Firebase.
Инициализация проекта Firebase
Многие распространенные задачи, выполняемые с помощью CLI, например, развертывание в проекте Firebase, требуют наличия каталога проекта . Каталог проекта создается с помощью команды firebase init . Обычно каталог проекта совпадает с корневым каталогом вашей системы контроля версий, и после выполнения firebase init в этом каталоге находится конфигурационный файл firebase.json .
Для инициализации нового проекта Firebase выполните следующую команду из каталога вашего приложения:
firebase init
Команда firebase init шаг за шагом настраивает каталог проекта и некоторые продукты Firebase. Во время инициализации проекта Firebase CLI запрашивает выполнение следующих задач:
Выберите проект Firebase по умолчанию.
На этом этапе текущая директория проекта связывается с проектом Firebase, чтобы команды, специфичные для проекта (например,
firebase deploy), выполнялись для соответствующего проекта Firebase.Также можно связать несколько проектов Firebase (например, тестовый проект и производственный проект) с одним и тем же каталогом проекта.
Выберите необходимые продукты Firebase для настройки в вашем проекте Firebase.
На этом шаге вам будет предложено настроить параметры файлов для выбранных продуктов. Более подробную информацию об этих параметрах см. в документации к конкретному продукту (например, Hosting »). Обратите внимание, что вы всегда можете запустить
firebase initпозже, чтобы настроить другие продукты Firebase.
По завершении инициализации Firebase автоматически создаёт следующие два файла в корневом каталоге вашего локального приложения:
Конфигурационный файл
firebase.json, содержащий список параметров вашего проекта.Файл
.firebaserc, в котором хранятся псевдонимы вашего проекта.
Файл firebase.json
Команда firebase init создает конфигурационный файл firebase.json в корневом каталоге вашего проекта.
Файл firebase.json необходим для развертывания ресурсов с помощью Firebase CLI, поскольку он определяет, какие файлы и настройки из каталога вашего проекта будут развернуты в вашем проекте Firebase. Поскольку некоторые настройки могут быть определены как в каталоге вашего проекта, так и в консоли Firebase , убедитесь, что вы разрешили все потенциальные конфликты развертывания .
Большинство параметров Firebase Hosting можно настроить непосредственно в файле firebase.json . Однако для других сервисов Firebase, которые можно развернуть с помощью Firebase CLI , команда firebase init создает специальные файлы, где можно определить настройки для этих сервисов, например, файл index.js для Cloud Functions . Вы также можете настроить хуки predeploy или postdeploy в файле firebase.json .
Ниже приведён пример файла firebase.json с настройками по умолчанию, если при инициализации вы выберете Firebase Hosting , Cloud Firestore и Cloud Functions for Firebase (с выбранными параметрами TypeScript source и lint).
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
}
Хотя по умолчанию используется файл firebase.json , вы можете передать флаг --config PATH , чтобы указать альтернативный конфигурационный файл.
Настройка для нескольких баз данных Cloud Firestore
При выполнении firebase init ваш файл firebase.json будет содержать единственный ключ firestore , соответствующий базе данных по умолчанию вашего проекта, как показано выше.
Если ваш проект содержит несколько баз данных Cloud Firestore , отредактируйте файл firebase.json , чтобы связать разные Cloud Firestore Security Rules и исходные файлы индексов баз данных с каждой базой данных. Измените файл, добавив в него массив JSON с одной записью для каждой базы данных.
"firestore": [
{
"database": "(default)",
"rules": "firestore.default.rules",
"indexes": "firestore.default.indexes.json"
},
{
"database": "ecommerce",
"rules": "firestore.ecommerce.rules",
"indexes": "firestore.ecommerce.indexes.json"
}
],
Файлы Cloud Functions , которые следует игнорировать при развертывании.
Во время развертывания функции CLI автоматически указывает список файлов в каталоге functions , которые следует игнорировать. Это предотвращает развертывание в бэкэнде лишних файлов, которые могут увеличить размер данных развертывания.
Список файлов, игнорируемых по умолчанию, представлен в формате JSON:
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
Если вы добавляете собственные значения для параметра ignore в firebase.json , убедитесь, что вы сохранили (или добавили, если он отсутствует) список файлов, показанный выше.
Управление псевдонимами проекта
Вы можете связать несколько проектов Firebase с одним и тем же каталогом проекта. Например, вы можете использовать один проект Firebase для тестовой среды, а другой — для производственной. Используя разные среды проекта, вы можете проверять изменения перед развертыванием в производственной среде. Команда firebase use позволяет переключаться между псевдонимами, а также создавать новые псевдонимы.
Добавить псевдоним проекта
При выборе проекта Firebase во время инициализации проекта ему автоматически присваивается псевдоним default . Однако, чтобы команды, специфичные для проекта, могли выполняться в другом проекте Firebase, но при этом использовался тот же каталог проекта, выполните следующую команду из каталога вашего проекта:
firebase use --add
Эта команда предложит вам выбрать другой проект Firebase и назначить ему псевдоним. Назначения псевдонимов записываются в файл .firebaserc , расположенный в каталоге вашего проекта.
Используйте псевдонимы проектов
Чтобы использовать назначенные псевдонимы проектов Firebase, выполните любую из следующих команд из каталога вашего проекта.
| Командование | Описание |
|---|---|
firebase use | Просмотрите список определенных в данный момент псевдонимов для каталога вашего проекта. |
firebase use \ | Направляет все команды на выполнение в указанном проекте Firebase. Интерфейс командной строки использует этот проект в качестве текущего «активного проекта». |
firebase use --clear | Сбрасывает активный проект. Перед выполнением других команд CLI запустите команду `run |
firebase use \ | Удаляет псевдоним из каталога вашего проекта. |
Вы можете переопределить текущий активный проект, передав флаг --project в любой команде CLI. Например: вы можете настроить CLI для работы с проектом Firebase, которому вы присвоили псевдоним staging . Если вы хотите выполнить одну команду для проекта Firebase, которому вы присвоили псевдоним prod , то вы можете выполнить, например, .
Системы контроля версий и псевдонимы проектов
Как правило, файл .firebaserc следует добавлять в систему контроля версий, чтобы ваша команда могла совместно использовать псевдонимы проекта. Однако для проектов с открытым исходным кодом или стартовых шаблонов обычно не следует добавлять файл .firebaserc в систему контроля версий.
Если у вас есть проект для разработки, предназначенный только для вашего личного использования, вы можете либо передавать флаг --project с каждой командой, либо запустить firebase use PROJECT_ID не назначая псевдоним проекту Firebase.
Развертывайте и тестируйте свой проект Firebase локально.
Вы можете просмотреть и протестировать свой проект Firebase на локально размещенных URL-адресах перед развертыванием в продакшене. Если вы хотите протестировать только отдельные функции, вы можете использовать список, разделенный запятыми, в качестве флага в команде firebase serve .
Для выполнения одной из следующих задач выполните следующую команду из корневого каталога вашего локального проекта:
- Просмотрите статическое содержимое вашего приложения, размещенного на Firebase.
- Вы используете Cloud Functions для генерации динамического контента для Firebase Hosting и хотите использовать свои развернутые в рабочей среде HTTP-функции для эмуляции Hosting на локальном URL-адресе.
firebase serve --only hosting
Эмулируйте свой проект, используя локальные HTTP-функции.
Выполните любую из следующих команд из каталога вашего проекта, чтобы эмулировать ваш проект с использованием локальных HTTP-функций.
Для эмуляции HTTP-функций и хостинга для тестирования на локальных URL-адресах используйте одну из следующих команд:
firebase serve
firebase serve --only functions,hosting // uses a flag
Для эмуляции только HTTP-функций используйте следующую команду:
firebase serve --only functions
Тестирование с других локальных устройств.
По умолчанию firebase serve отвечает только на запросы с localhost . Это означает, что вы сможете получить доступ к размещенному контенту с веб-браузера вашего компьютера, но не с других устройств в вашей сети. Если вы хотите протестировать с других локальных устройств, используйте флаг --host , например, так:
firebase serve --host 0.0.0.0 // accepts requests to any host
Развернуть в проекте Firebase
Интерфейс командной строки Firebase управляет развертыванием кода и ресурсов в вашем проекте Firebase, включая:
- Новые версии ваших сайтов Firebase Hosting
- Новые, обновленные или существующие Cloud Functions for Firebase
- Новые или обновленные схемы и коннекторы для Firebase Data Connect
- Правила для Firebase Realtime Database
- Правила использования Cloud Storage for Firebase
- Правила для Cloud Firestore
- Индексы для Cloud Firestore
Для развертывания в проекте Firebase выполните следующую команду из каталога вашего проекта:
firebase deploy
При желании вы можете добавить комментарий к каждому из ваших развертываний. Этот комментарий будет отображаться вместе с остальной информацией о развертывании на странице Firebase Hosting вашего проекта. Например:
firebase deploy -m "Deploying the best new feature ever."
При использовании команды firebase deploy следует учитывать следующее:
Для развертывания ресурсов из каталога проекта необходимо наличие файла
firebase.jsonв этом каталоге. Этот файл автоматически создается командойfirebase init.По умолчанию
firebase deployсоздает релиз для всех развертываемых ресурсов в каталоге вашего проекта. Для развертывания определенных сервисов или функций Firebase используйте частичное развертывание .
Конфликты развертывания правил безопасности
Для Firebase Realtime Database , Cloud Storage for Firebase и Cloud Firestore правила безопасности можно определить либо в локальном каталоге проекта, либо в консоли Firebase .
Ещё один способ избежать конфликтов при развертывании — использовать частичное развертывание и определять правила только в консоли Firebase .
Квоты на развертывание
Вполне возможно (хотя и маловероятно), что вы превысите квоту, ограничивающую скорость или объем операций развертывания Firebase. Например, при развертывании очень большого количества функций вы можете получить сообщение об ошибке HTTP 429 Quota . Для решения таких проблем попробуйте использовать частичное развертывание .
Откат развертывания
Вы можете откатить развертывание Firebase Hosting со страницы Firebase Hosting вашего проекта, выбрав действие «Откат» для нужного релиза.
В настоящее время невозможно откатить обновления правил безопасности для Firebase Realtime Database , Cloud Storage for Firebase или Cloud Firestore .
Развертывание отдельных служб Firebase
Если вам нужно развернуть только определенные сервисы или функции Firebase, вы можете использовать список, разделенный запятыми, в качестве флага в команде firebase deploy . Например, следующая команда развертывает контент Firebase Hosting и правила безопасности Cloud Storage .
firebase deploy --only hosting,storage
В таблице ниже перечислены сервисы и функции, доступные для частичного развертывания. Названия флагов соответствуют ключам в вашем конфигурационном файле firebase.json .
| Синтаксис флагов | Развернута служба или функция. |
|---|---|
--only hosting | Содержимое Firebase Hosting |
--only database | Правила Firebase Realtime Database |
--only dataconnect | Схемы и коннекторы Firebase Data Connect |
--only storage | Cloud Storage for Firebase |
--only firestore | Правила и индексы Cloud Firestore для всех настроенных баз данных |
--only functions | Cloud Functions for Firebase (возможны более специфические версии этого флага ) |
Развертывание конкретных функций
При развертывании функций можно выбирать конкретные функции. Например:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
Ещё один вариант — сгруппировать функции в группы экспорта в файле /functions/index.js . Группировка функций позволяет развернуть несколько функций с помощью одной команды.
Например, вы можете написать следующие функции для определения groupA и groupB :
var functions = require('firebase-functions/v1');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
В этом примере отдельный файл functions/groupB.js содержит дополнительные функции, которые конкретно определяют функции в groupB Например:
var functions = require('firebase-functions/v1');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
В этом примере вы можете развернуть все функции groupA , выполнив следующую команду из каталога вашего проекта:
firebase deploy --only functions:groupA
Или же вы можете выбрать конкретную функцию в группе, выполнив следующую команду:
firebase deploy --only functions:groupA.function1,groupB.function4
Удаление функций
Интерфейс командной строки Firebase поддерживает следующие команды и параметры для удаления ранее развернутых функций:
Удаляет все функции, соответствующие указанному имени, во всех регионах:
firebase functions:delete FUNCTION-1_NAME
Удаляет указанную функцию, работающую в регионе, отличном от региона по умолчанию:
firebase functions:delete FUNCTION-1_NAME --region REGION_NAME
Удаляет более одной функции:
firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME
Удаляет указанную группу функций:
firebase functions:delete GROUP_NAME
Обходит запрос на подтверждение:
firebase functions:delete FUNCTION-1_NAME --force
Настройте скриптовые задачи до и после развертывания.
Вы можете подключить скрипты оболочки к команде firebase deploy для выполнения задач до или после развертывания. Например, скрипт до развертывания может транспилировать код TypeScript в JavaScript, а хук после развертывания может уведомлять администраторов о развертывании нового контента сайта в Firebase Hosting .
Для настройки хуков predeploy или postdeploy добавьте bash-скрипты в конфигурационный файл firebase.json . Вы можете определить короткие скрипты непосредственно в файле firebase.json или сослаться на другие файлы, находящиеся в каталоге вашего проекта.
Например, следующий скрипт представляет собой выражение в firebase.json для задачи postdeploy, которая отправляет сообщение в Slack после успешного развертывания на Firebase Hosting .
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
Файл скрипта messageSlack.sh находится в каталоге проекта и выглядит следующим образом:
curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}'
\https://SLACK_WEBHOOK_URLВы можете настроить хуки predeploy и postdeploy для любого из развертываемых ресурсов . Обратите внимание, что запуск firebase deploy запускает все задачи predeploy и postdeploy, определенные в файле firebase.json . Чтобы запустить только те задачи, которые связаны с конкретной службой Firebase, используйте команды частичного развертывания .
Как хуки predeploy так и postdeploy выводят в терминал стандартный поток вывода и потоки ошибок скриптов. В случае сбоя обратите внимание на следующее:
- Если проверка перед развертыванием не завершится должным образом, развертывание будет отменено.
- Если развертывание по какой-либо причине не удается, обработчики событий postdeploy не срабатывают.
переменные окружающей среды
В скриптах, запускаемых в рамках обработчиков predeploy и postdeploy, доступны следующие переменные среды:
-
$GCLOUD_PROJECT: Идентификатор проекта активного проекта -
$PROJECT_DIR: Корневой каталог, содержащий файлfirebase.json -
$RESOURCE_DIR: (Только для скриптовhostingиfunctions) Расположение каталога, содержащего ресурсы Hosting или Cloud Functions которые необходимо развернуть.
Управление несколькими экземплярами Realtime Database
В проекте Firebase может быть несколько экземпляров Firebase Realtime Database . По умолчанию команды CLI взаимодействуют с вашим экземпляром базы данных по умолчанию .
Однако вы можете взаимодействовать с экземпляром базы данных, отличным от используемого по умолчанию, используя...--instance DATABASE_NAME . Следующие команды поддерживают флаг --instance :
-
firebase database:get -
firebase database:profile -
firebase database:push -
firebase database:remove -
firebase database:set -
firebase database:update
Справочник команд
Административные команды CLI
| Командование | Описание |
|---|---|
| помощь | Отображается справочная информация о интерфейсе командной строки или конкретных командах. |
| инициализация | Эта команда связывает и создает новый проект Firebase в текущем каталоге. Она также создает конфигурационный файл firebase.json в текущем каталоге. |
| авторизоваться | Аутентификация интерфейса командной строки с помощью вашей учетной записи Google. Требуется доступ к веб-браузеру. Для входа в командную строку в удаленных средах, где доступ к localhost запрещен, используйте команду:--no-localhost flag. |
| вход:ci | Генерирует токен аутентификации для использования в неинтерактивных средах. |
| выйти | Выходит из своей учетной записи Google через командную строку. |
| открыть | Открывает браузер для доступа к соответствующим ресурсам проекта. |
| проекты:список | Отображает список всех проектов Firebase, к которым у вас есть доступ. |
| использовать | Устанавливает активный проект Firebase для CLI. Управляет псевдонимами проекта . |
Команды управления проектами
| Командование | Описание | |
|---|---|---|
| Управление проектами Firebase | ||
| проекты:addfirebase | Добавляет ресурсы Firebase в существующий проект Google Cloud . | |
| проекты:создать | Создает новый проект Google Cloud , а затем добавляет в него ресурсы Firebase. | |
| проекты:список | Отображает список всех проектов Firebase, к которым у вас есть доступ. | |
| Управление приложениями Firebase (iOS, Android, Web) | ||
| приложения:создать | Создает новое приложение Firebase в активном проекте. | |
| приложения:список | Отображает список зарегистрированных приложений Firebase в активном проекте. | |
| apps:sdkconfig | Выводит конфигурацию сервисов Google для приложения Firebase. | |
| настройка: веб | Устарело. Вместо этого используйте apps:sdkconfig и укажите web в качестве аргумента платформы.Выводит конфигурацию сервисов Google для веб-приложения Firebase. | |
| Управление хэшами сертификатов SHA (только для Android) | ||
| apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH | Добавляет указанный хэш SHA-сертификата в указанное приложение Firebase для Android. | |
| apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH | Удаляет указанный хэш SHA-сертификата из указанного приложения Firebase для Android. | |
| apps:android:sha:list \ FIREBASE_APP_ID | Выводит хеши SHA-сертификатов для указанного приложения Firebase для Android. | |
Развертывание и локальное развитие
Эти команды позволяют развертывать ваш сайт Firebase Hosting и взаимодействовать с ним.
| Командование | Описание |
|---|---|
| развертывать | Развертывает код и ресурсы из каталога вашего проекта в активный проект. Для Firebase Hosting требуется конфигурационный файл firebase.json . |
| служить | Запускает локальный веб-сервер с конфигурацией Firebase Hosting . Для Firebase Hosting требуется конфигурационный файл firebase.json . |
Команды App Distribution
| Командование | Описание |
|---|---|
| appdistribution:distribute \ --app FIREBASE_APP_ID | Предоставляет доступ к сборке тестировщикам. |
| appdistribution:testers:add | Добавляет тестировщиков в проект. |
| appdistribution:testers:remove | Удаляет тестировщиков из проекта. |
Команды App Hosting
| Командование | Описание |
|---|---|
| apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID | Создает набор управляемых ресурсов, связанных с единой кодовой базой, которая составляет бэкэнд App Hosting . При желании можно указать существующее веб-приложение Firebase по его идентификатору приложения Firebase. |
| apphosting:backends:get \ BACKEND_ID \ --project PROJECT_ID \ --location REGION | Получает конкретные сведения, включая публичный URL-адрес, бэкэнда. |
| apphosting:backends:list \ --project PROJECT_ID | Получает список всех активных бэкэндов, связанных с проектом. |
| firebase apphosting:backends:delete \ BACKEND_ID \ --project PROJECT_ID \ --location REGION | Удаляет бэкэнд из проекта. |
| firebase apphosting:config:export \ --project PROJECT_ID \ --secrets ENVIRONMENT_NAME | Экспортирует секретные данные для использования в эмуляции приложений. По умолчанию используются секреты, хранящиеся в файле apphosting.yaml , или же параметр --secrets позволяет указать любую среду, для которой существует соответствующий файл apphosting. ENVIRONMENT_NAME .yaml . |
| firebase apphosting:rollouts:create \ BACKEND_ID \ --git_branch BRANCH_NAME \ --git_commit COMMIT_ID | Создает развертывание, запускаемое вручную. При желании можно указать последний коммит в ветке или конкретный коммит. Если параметры не указаны, предлагается выбрать коммит из списка веток. |
| apphosting:secrets:set KEY --project PROJECT_ID \ --location REGION \ --data-file DATA_FILE_PATH | Хранит секретные материалы в Secret Manager. При желании укажите путь к файлу, из которого будут считываться секретные данные. Установите значение _ для чтения секретных данных из стандартного ввода. |
| apphosting:secrets:grantaccess KEY BACKEND_ID \ --project PROJECT_ID \ --location REGION | Предоставляет учетной записи серверной службы доступ к указанному секретному ключу, чтобы к нему мог получить доступ App Hosting во время сборки или выполнения. |
| apphosting:secrets:describe KEY \ --project PROJECT_ID | Получает метаданные секрета и его версий. |
| firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID | Осуществляет доступ к секретному значению, зная сам секрет и его версию. По умолчанию используется последняя версия. |
Команды Authentication (управления пользователями)
| Командование | Описание |
|---|---|
| auth:export | Экспортирует учетные записи пользователей активного проекта в файл JSON или CSV. Для получения более подробной информации см. страницу auth:import и auth:export . |
| auth:import | Импортирует учетные записи пользователей из JSON- или CSV-файла в активный проект. Для получения более подробной информации см. страницу auth:import и auth:export . |
Команды Cloud Firestore
| Командование | Описание |
|---|---|
| firestore:locations | Перечислите доступные места для размещения вашей базы данных Cloud Firestore . |
| firestore:databases:create DATABASE_ID | Создайте экземпляр базы данных в нативном режиме в вашем проекте Firebase. Команда принимает следующие флаги:
|
| firestore:databases:list | Перечислите базы данных в вашем проекте Firebase. |
| firestore:databases:get DATABASE_ID | Получите конфигурацию базы данных для указанной базы данных в вашем проекте Firebase. |
| firestore:databases:update DATABASE_ID | Обновите конфигурацию указанной базы данных в вашем проекте Firebase. Требуется как минимум один флаг. Команда принимает следующие флаги:
|
| firestore:databases:delete DATABASE_ID | Удалите базу данных в своем проекте Firebase. |
| firestore:indexes | Вывести список индексов для базы данных в вашем проекте Firebase. Команда принимает следующий флаг:
|
| firestore:delete | Удаляет документы из базы данных активного проекта. С помощью командной строки можно рекурсивно удалить все документы в коллекции. Обратите внимание, что удаление данных Cloud Firestore с помощью CLI влечет за собой расходы на чтение и удаление. Для получения дополнительной информации см. раздел «Понимание системы выставления счетов Cloud Firestore . Команда принимает следующий флаг:
|
Команды Cloud Functions for Firebase
| Командование | Описание |
|---|---|
| функции:конфигурация:клон | Клонирует среду другого проекта в активный проект Firebase. |
| функции:конфигурация:получить | Получает существующие значения конфигурации Cloud Functions активного проекта. |
| функции:конфигурация:настройка | Сохраняет значения конфигурации среды выполнения Cloud Functions активного проекта. |
| функции:конфигурация:unset | Удаляет значения из конфигурации среды выполнения активного проекта. |
| функции:лог | Reads logs from deployed Cloud Functions . |
For more information, refer to the environment configuration documentation .
Crashlytics commands
| Командование | Описание |
|---|---|
| crashlytics:mappingfile:generateid \ --resource-file= PATH/TO/ANDROID_RESOURCE.XML | Generates a unique mapping file ID in the specified Android resource (XML) file. |
| crashlytics:mappingfile:upload \ --app= FIREBASE_APP_ID \ --resource-file= PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT | Uploads a Proguard-compatible mapping (TXT) file for this app, and associates it with the mapping file ID declared in the specified Android resource (XML) file. |
| crashlytics:symbols:upload \ --app= FIREBASE_APP_ID \ PATH/TO/SYMBOLS | Generates a Crashlytics -compatible symbol file for native library crashes on Android and uploads it to Firebase servers. |
Data Connect commands
These commands and their use cases are covered in more detail in the Data Connect CLI reference guide .
| Командование | Описание |
|---|---|
| dataconnect:services:list | Lists all deployed Data Connect services in your Firebase project. |
| dataconnect:sql:diff \ SERVICE_ID | For the specified service, displays the differences between a local Data Connect schema and your Cloud SQL database schema. |
| dataconnect:sql:migrate \ --сила \ SERVICE_ID | Migrates your Cloud SQL database's schema to match your local Data Connect schema. |
| dataconnect:sql:grant\ --role= ROLE \ --email= EMAIL \ SERVICE_ID | Grants the SQL role to the specified user or service account email. For the --role flag, the SQL role to grant is one of: owner , writer , or reader .For the --email flag, provide the email address of the user or service account to grant the role to. |
| dataconnect:sdk:generate | Generates typed SDKs for your Data Connect connectors. |
Extensions commands
| Командование | Описание |
|---|---|
| наружный | Displays information on how to use Firebase Extensions commands. Lists the extension instances installed in the active project. |
| ext:configure \ EXTENSION_INSTANCE_ID | Reconfigures the parameter values of an extension instance in your extension manifest . |
| ext:info \ PUBLISHER_ID/EXTENSION_ID | Prints detailed information about an extension. |
| ext:install \ PUBLISHER_ID/EXTENSION_ID | Adds a new instance of an extension into your extension manifest . |
| ext:list | Lists all the extension instances installed in a Firebase project. Prints the instance ID for each extension. |
| ext:uninstall \ EXTENSION_INSTANCE_ID | Removes an extension instance from your extension manifest . |
| ext:update \ EXTENSION_INSTANCE_ID | Updates an extension instance to the latest version in your extension manifest . |
| ext:export | Exports all installed extension instances from your project to your extension manifest . |
Extensions publisher commands
| Командование | Описание |
|---|---|
| ext:dev:init | Initializes a skeleton codebase for a new extension in the current directory. |
| ext:dev:list \ PUBLISHER_ID | Prints a list of all extensions uploaded by a publisher. |
| ext:dev:register | Registers a Firebase project as an extensions publisher project . |
| ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE | Deprecates extension versions that match the version predicate. A version predicate can be a single version (such as 1.0.0 ), or a range of versions (such as >1.0.0 ).If no version predicate is provided, deprecates all versions of that extension. |
| ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE | Undeprecates extension versions that match the version predicate. A version predicate can be a single version (such as 1.0.0 ), or a range of versions (such as >1.0.0 ).If no version predicate is provided, undeprecates all versions of that extension. |
| ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID | Uploads a new version of an extension. |
| ext:dev:usage \ PUBLISHER_ID | Displays install counts and usage metrics for extensions uploaded by a publisher. |
Hosting commands
| Командование | Описание |
|---|---|
| hosting:disable | Stops serving Firebase Hosting traffic for the active Firebase project. Your project's Hosting URL will display a "Site Not Found" message after running this command. |
| Management of Hosting sites | |
| firebase hosting:sites:create \ SITE_ID | Creates a new Hosting site in the active Firebase project using the specified (Optional) Specify an existing Firebase Web App to associate with the new site by passing the following flag: |
| firebase hosting:sites:delete \ SITE_ID | Deletes the specified Hosting site The CLI displays a confirmation prompt before deleting the site. (Optional) Skip the confirmation prompt by passing the following flags: |
| firebase hosting:sites:get \ SITE_ID | Retrieves information about the specified Hosting site |
| firebase hosting:sites:list | Lists all Hosting sites for the active Firebase project |
| Management of preview channels | |
| firebase hosting:channel:create \ CHANNEL_ID | Создает новый канал предварительного просмотра на сайте Hosting по умолчанию , используя указанный Эта команда не выполняет развертывание в канале. |
| firebase hosting:channel:delete \ CHANNEL_ID | Удаляет указанный канал предварительного просмотра. Удалить прямой эфир с сайта невозможно. |
| firebase hosting:channel:deploy \ CHANNEL_ID | Развертывает контент и конфигурацию вашего Hosting в указанном канале предварительного просмотра. Если канал предварительного просмотра еще не существует, эта команда создаст канал на сайте Hosting по умолчанию перед развертыванием в этом канале. |
| firebase hosting:channel:list | Отображает список всех каналов (включая канал "прямой трансляции") на сайте Hosting по умолчанию. |
| firebase hosting:channel:open \ CHANNEL_ID | Открывает в браузере URL-адрес указанного канала или возвращает URL-адрес, если открытие в браузере невозможно. |
| Version cloning | |
| firebase hosting:clone \ SOURCE_SITE_ID : SOURCE_CHANNEL_ID \ TARGET_SITE_ID : TARGET_CHANNEL_ID | Клонирует последнюю развернутую версию из указанного "исходного" канала в указанный "целевой" канал. Эта команда также выполняет развертывание в указанный целевой канал. Если целевой канал еще не существует, эта команда создает новый канал предварительного просмотра на целевом Hosting перед развертыванием в этот канал. |
| firebase hosting:clone \ SOURCE_SITE_ID :@ VERSION_ID \ TARGET_SITE_ID : TARGET_CHANNEL_ID | Клонирует указанную версию в указанный целевой канал. Эта команда также выполняет развертывание в указанный целевой канал. Если целевой канал еще не существует, эта команда создает новый канал предварительного просмотра на целевом Hosting перед развертыванием в этот канал. |
Realtime Database commands
Note that you can create your initial, default Realtime Database instance in the Firebase console or by using the general firebase init workflow or the specific firebase init database flow.
Once instances are created, you can manage them as discussed in Manage multiple Realtime Database instances .
| Командование | Описание |
|---|---|
| database:get | Fetches data from the active project's database and displays it as JSON. Supports querying on indexed data. |
| database:instances:create | Creates a database instance with a specified instance name. Accepts the --location option for creating a database in a specified region. For region names to use with this option, see select locations for your project . If no database instance exists for the current project, you are prompted to run the firebase init flow to create an instance. |
| database:instances:list | List all database instances for this project. Accepts the --location option for listing databases in a specified region. For region names to use with this option see select locations for your project . |
| database:profile | Builds a profile of operations on the active project's database. For more details, refer to Realtime Database operation types . |
| database:push | Pushes new data to a list at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument. |
| database:remove | Deletes all data at a specified location in the active project's database. |
| database:set | Replaces all data at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument. |
| database:update | Performs a partial update at a specified location in the active project's database. Takes input from a file, STDIN, or a command-line argument. |
Remote Config commands
| Командование | Описание |
|---|---|
| remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS | Lists the most recent ten versions of the template. Specify 0 to return all existing versions, or optionally pass the --limit option to limit the number of versions being returned. |
| remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output FILENAME | Gets the template by version (defaults to the latest version) and outputs the parameter groups, parameters, and condition names and version into a table. Optionally, you can write the output to a specified file with -o, FILENAME . |
| remoteconfig:rollback \ --v, version_number VERSION_NUMBER --сила | Rolls back Remote Config template to a specified previous version number or defaults to the immediate previous version (current version -1). Unless --force is passed, prompts Y/N before proceeding to rollback. |
| remoteconfig:experiments:list \ --filter EXPRESSION --pageSize NUMBER --pageToken TOKEN | Lists all Remote Config experiments for a project, with optional filtering, number of experiments to return per page (defaults to 10), and page token as the starting offset for the list. |
| remoteconfig:experiments:get \ EXPERIMENT_ID | Gets the details of the specified Remote Config experiment. |
| remoteconfig:experiments:delete \ EXPERIMENT_ID | Deletes the specified Remote Config experiment. |
| remoteconfig:rollouts:list \ --filter EXPRESSION --pageSize NUMBER --pageToken TOKEN | Lists all Remote Config rollouts for a project, with optional filtering, number of rollouts to return per page (defaults to 10), and page token as the starting offset for the list. |
| remoteconfig:rollouts:get \ ROLLOUT_ID | Gets the details of the specified Remote Config rollout. |
| remoteconfig:rollouts:delete \ ROLLOUT_ID | Deletes the specified Remote Config rollout. |