Интерфейс командной строки Firebase (GitHub) предоставляет различные инструменты для управления проектами Firebase, их просмотра и развертывания.
Прежде чем использовать Firebase CLI, настройте проект Firebase.
Как настроить или обновить CLI
Как установить интерфейс командной строки Firebase
Вы можете установить интерфейс командной строки Firebase, используя метод, который соответствует вашей операционной системе, уровню опыта и/или варианту использования. Независимо от способа установки у вас будет доступ к одним и тем же функциям и команде firebase.
Windows
Установить Firebase CLI для Windows можно одним из следующих способов:
| Вариант | Описание | Рекомендовано для... |
|---|---|---|
| отдельный исполняемый файл; | Скачайте отдельный исполняемый файл для интерфейса командной строки. Затем вы можете получить доступ к исполняемому файлу, чтобы открыть оболочку, в которой можно выполнить команду firebase.
|
Новые разработчики Разработчики, которые не используют или не знакомы с Node.js |
| npm | Используйте npm (менеджер пакетов Node), чтобы установить интерфейс командной строки и включить глобально доступную команду firebase.
|
Разработчики, использующие Node.js |
отдельный исполняемый файл;
Чтобы скачать и запустить исполняемый файл для интерфейса командной строки Firebase, выполните следующие действия:
Скачайте двоичный файл CLI Firebase для Windows.
Получите доступ к исполняемому файлу, чтобы открыть оболочку, в которой можно выполнить команду
firebase.
npm
Чтобы установить интерфейс командной строки Firebase с помощью npm (менеджера пакетов Node), выполните следующие действия:
Установите Node.js с помощью nvm-windows (менеджера версий Node). При установке Node.js автоматически устанавливаются инструменты командной строки
npm.Установите интерфейс командной строки Firebase с помощью
npm, выполнив следующую команду:npm install -g firebase-tools
Эта команда включает глобально доступную команду
firebase.
macOS или Linux
Установить Firebase CLI для macOS или Linux можно одним из следующих способов:
| Вариант | Описание | Рекомендовано для... |
|---|---|---|
| автоматический скрипт установки | Выполните одну команду, которая автоматически определит вашу операционную систему, скачает последнюю версию интерфейса командной строки и активирует команду firebase, доступную в любой точке системы.
|
Новые разработчики Разработчики, которые не используют или не знакомы с Node.js Автоматическое развертывание в среде CI/CD |
| отдельный исполняемый файл; | Скачайте отдельный исполняемый файл для интерфейса командной строки. Затем вы можете настроить и запустить исполняемый файл в соответствии со своим рабочим процессом. | Полностью настраиваемые рабочие процессы с использованием интерфейса командной строки |
| npm | Используйте npm (менеджер пакетов Node), чтобы установить интерфейс командной строки и включить глобально доступную команду firebase.
|
Разработчики, использующие Node.js |
скрипт автоматической установки;
Чтобы установить интерфейс командной строки Firebase с помощью скрипта автоматической установки, выполните следующие действия:
Выполните следующую команду cURL:
curl -sL https://firebase.tools | bash
Этот скрипт автоматически определяет вашу операционную систему, скачивает последнюю версию CLI Firebase и включает команду
firebase, доступную во всем мире.
Другие примеры и подробную информацию об этом скрипте можно найти в его исходном коде на сайте firebase.tools.
отдельный исполняемый файл;
Чтобы скачать и запустить исполняемый файл для интерфейса командной строки Firebase, предназначенный для вашей ОС, выполните следующие действия:
Скачайте Firebase исполняемый файл CLI для своей ОС: macOS | Linux
(Необязательно.) Настройте команду
firebase, доступную во всех странах.- Сделайте исполняемый файл двоичным, выполнив команду
chmod +x ./firebase_tools. - Добавьте путь к исполняемому файлу в переменную PATH.
- Сделайте исполняемый файл двоичным, выполнив команду
npm
Чтобы установить Firebase CLI с помощью npm (менеджера пакетов Node), выполните следующие действия:
Установите Node.js с помощью nvm (менеджера версий Node).
При установке Node.js автоматически устанавливаются инструменты командной строкиnpm.Установите интерфейс командной строки Firebase с помощью
npm, выполнив следующую команду:npm install -g firebase-tools
Эта команда включает глобально доступную команду
firebase.
Войдите в аккаунт и протестируйте интерфейс командной строки Firebase
После установки CLI необходимо пройти аутентификацию. Затем вы можете подтвердить аутентификацию, перечислив свои проекты Firebase.
Войдите в Firebase с аккаунтом Google, выполнив следующую команду:
firebase login
Эта команда подключает локальный компьютер к Firebase и предоставляет вам доступ к проектам Firebase.
Проверьте, правильно ли установлен интерфейс командной строки и есть ли у него доступ к вашему аккаунту. Для этого запросите список проектов Firebase. Выполните следующую команду:
firebase projects:list
Список должен совпадать со списком проектов Firebase в консоли Firebase.
Как обновить CLI до последней версии
Как правило, рекомендуется использовать последнюю версию Firebase 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.
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 с системами CI мы рекомендуем выполнять аутентификацию с помощью Application Default Credentials.
(Рекомендуется) Использовать Application Default Credentials
Интерфейс командной строки Firebase обнаружит и использует Application Default Credentials, если они заданы. Самый простой способ аутентификации CLI в CI и других средах без графического интерфейса – настроить Application Default Credentials.
(Устаревшая версия) Используйте FIREBASE_TOKEN
Вы также можете пройти аутентификацию с помощью FIREBASE_TOKEN. Этот способ менее безопасен, чем Application Default Credentials, и больше не рекомендуется.
На компьютере с браузером установите Firebase CLI.
Чтобы начать процесс входа, выполните следующую команду:
firebase login:ci
Перейдите по указанному URL и войдите в аккаунт Google.
Напечатать новый токен обновления. Текущий сеанс CLI не будет затронут.
Сохраните полученный токен в безопасном, но доступном месте в вашей системе CI.
Используйте этот токен при выполнении команд
firebase. Вы можете выбрать один из двух вариантов:Вариант 1. Сохраните токен как переменную среды
FIREBASE_TOKEN. Система автоматически использует токен.Вариант 2. Выполните все команды
firebaseс флагом--token TOKENв системе непрерывной интеграции.
Токены загружаются в следующем порядке: флаг, переменная среды, нужный проект Firebase.
Как инициализировать проект Firebase
Для выполнения многих распространенных задач с помощью интерфейса командной строки, например развертывания в проекте Firebase, требуется каталог проекта. Вы создаете каталог проекта с помощью команды firebase init. Обычно каталог проекта совпадает с корневым каталогом системы контроля версий. После запуска firebase init в каталоге появляется файл конфигурации firebase.json.
Чтобы инициализировать новый проект Firebase, выполните следующую команду в каталоге приложения:
firebase init
Команда firebase init поможет вам настроить каталог проекта и некоторые продукты Firebase. При инициализации проекта интерфейс командной строки 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, поскольку в нем указано, какие файлы и настройки из каталога проекта будут развернуты в проекте 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 \ |
Все команды будут выполняться в указанном проекте Firebase.
CLI использует этот проект как активный. |
firebase use --clear |
Очищает активный проект.
Выполните команду |
firebase use \ |
Удаляет псевдоним из каталога проекта. |
Вы можете переопределить активный проект, передав флаг --project с любой командой 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-функций local, выполните любую из следующих команд в каталоге проекта.
Чтобы эмулировать функции 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.
Чтобы настроить хуки 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 запускаются все задачи, определенные в файле firebase.json для этапов до и после развертывания. Чтобы выполнить только те задачи, которые связаны с определенным сервисом Firebase, используйте команды частичного развертывания.
Оба приема predeploy и postdeploy выводят стандартные выходные данные и потоки ошибок скриптов в терминал. В случае сбоя:
- Если хук не будет выполнен должным образом, развертывание будет отменено.
- Если по какой-либо причине развертывание выполнить не удалось, хуки 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 | Создает токен аутентификации для использования в неинтерактивных средах. |
| login:add | Войти в дополнительный аккаунт Google. |
| login:list | Список всех аккаунтов Google, в которые выполнен вход. |
| login:use | Задает активный аккаунт Google. |
| logout | Выход из аккаунта Google в интерфейсе командной строки. |
| open | Открывает браузер с ресурсами проекта. |
| projects:list | Список всех проектов Firebase, к которым у вас есть доступ. |
| use | Устанавливает активный проект Firebase для интерфейса командной строки. Управляет псевдонимами проектов. |
Команды для управления проектами
| Команда | Описание | |
|---|---|---|
| Управление проектами Firebase | ||
| projects:addfirebase | Добавляет ресурсы Firebase и включает сервисы Firebase в существующем проекте Google Cloud. | |
| projects:create | Создает новый проект Google Cloud, а затем добавляет в него ресурсы Firebase. | |
| projects:list | Список всех проектов Firebase, к которым у вас есть доступ. | |
| Управление приложениями Firebase (iOS, Android, веб-версия) | ||
| apps:create | Создает новое приложение Firebase в активном проекте. | |
| apps:list | Список зарегистрированных приложений Firebase в активном проекте. | |
| apps:sdkconfig | Выводит конфигурацию Firebase для приложения Firebase. | |
| setup:web | Устаревший. Вместо этого используйте apps:sdkconfig и укажите web в качестве аргумента платформы.Выводит конфигурацию Firebase для веб-приложения 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 | Удаляет тестировщиков из проекта. |
| appdistribution:testers:list | Список тестировщиков проекта. |
| appdistribution:groups:create | Создает группу тестировщиков. |
| appdistribution:groups:delete | Удаляет группу тестировщиков. |
| appdistribution:groups:list | Список групп тестировщиков в проекте. |
команды App Hosting;
| Команда | Описание |
|---|---|
| apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID |
Создает коллекцию управляемых ресурсов, связанных с единой базой кода, которая составляет серверную часть App Hosting. При необходимости укажите существующее веб-приложение 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 BACKEND_ID \ --emails EMAILS \ --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-файла в активный проект. Подробнее об импорте и экспорте данных аутентификации… |
команды Cloud Firestore;
| Команда | Описание |
|---|---|
| firestore:locations |
Посмотреть список доступных местоположений для базы данных Cloud Firestore. |
| firestore:databases:create DATABASE_ID |
Создайте экземпляр базы данных в собственном режиме в проекте Firebase. Команда принимает следующие флаги:
|
| firestore:databases:list |
Как посмотреть список баз данных в проекте Firebase |
| firestore:databases:get DATABASE_ID |
Получите конфигурацию базы данных для указанной базы данных в проекте Firebase. Для баз данных Enterprise в выходных данных указываются статусы |
| firestore:databases:update DATABASE_ID |
Обновляет конфигурацию указанной базы данных в проекте Firebase. Выберите хотя бы одну пометку. Команда принимает следующие флаги:
|
| firestore:databases:delete DATABASE_ID |
Удалить базу данных в проекте Firebase. |
| firestore:indexes |
Как посмотреть список индексов для базы данных в проекте Firebase Команда принимает следующий флаг:
|
| firestore:delete |
Удаляет документы из базы данных активного проекта. С помощью интерфейса командной строки можно рекурсивно удалить все документы в коллекции. Обратите внимание, что при удалении данных Cloud Firestore с помощью интерфейса командной строки взимается плата за чтение и удаление. Подробнее о счетах и платежах Cloud Firestore… Команда принимает следующий флаг:
|
команды Cloud Functions for Firebase;
| Команда | Описание |
|---|---|
| functions:config:clone | Устарело. Копирует среду другого проекта в активный проект Firebase. |
| functions:config:export | Экспортирует конфигурацию времени выполнения активного проекта в Google Cloud Secret Manager. |
| functions:config:get | Устаревший. Получает существующие значения конфигурации Cloud Functions активного проекта. |
| functions:config:set | Устарело. Хранит значения конфигурации времени выполнения Cloud Functions активного проекта. |
| functions:config:unset | Устаревший. Удаляет значения из конфигурации времени выполнения активного проекта. |
| functions:delete \ FUNCTION_NAME |
Удаляет указанную функцию. |
| functions:list | Список развернутых функций. |
| functions:log | Считывает журналы из развернутого Cloud Functions. |
| functions:secrets:access \ SECRET_NAME |
Получает доступ к значению секрета, используя сам секрет и его версию. |
| functions:secrets:destroy \ SECRET_NAME |
Удаляет секрет. |
| functions:secrets:get \ SECRET_NAME |
Получает метаданные секрета и его версий. |
| functions:secrets:prune | Удаляет неиспользуемые секреты. |
| functions:secrets:set \ SECRET_NAME |
Создает или обновляет секрет. |
| functions:shell | Запускает локальную интерактивную оболочку для тестирования функций. |
Подробнее о настройке среды…
команды Crashlytics;
| Команда | Описание |
|---|---|
| crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Создает уникальный идентификатор файла сопоставления в указанном файле ресурсов Android (XML). |
| crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
Загружает файл сопоставления, совместимый с Proguard (TXT), для этого приложения и связывает его с идентификатором файла сопоставления, объявленным в указанном файле ресурсов Android (XML). |
| crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Создает файл символов, совместимый с Crashlytics, для сбоев нативных библиотек в Android и загружает его на серверы Firebase. |
команды SQL Connect;
Подробную информацию об этих командах и примерах их использования можно найти в справочном руководстве по CLI SQL Connect.
| Команда | Описание |
|---|---|
| dataconnect:services:list | Содержит список всех развернутых сервисов SQL Connect в вашем проекте Firebase. |
| dataconnect:sql:diff \ SERVICE_ID |
Для указанного сервиса отображает различия между локальной схемой SQL Connect и схемой базы данных Cloud SQL. |
| dataconnect:sql:migrate \ --force \ SERVICE_ID |
Переносит схему базы данных Cloud SQL, чтобы она соответствовала локальной схеме SQL Connect. |
| dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
Предоставляет роль SQL указанному пользователю или сервисному аккаунту.
Для флага --role роль SQL, которую нужно предоставить, может быть одной из следующих: owner, writer или reader.
Для флага --email укажите адрес электронной почты пользователя или сервисного аккаунта, которому нужно предоставить роль.
|
| dataconnect:sdk:generate | Создает типизированные SDK для ваших коннекторов SQL Connect. |
команды Extensions;
| Команда | Описание |
|---|---|
| ext | Показывает информацию о том, как использовать команды Firebase Extensions. Список экземпляров расширений, установленных в активном проекте. |
| ext:configure \ EXTENSION_INSTANCE_ID |
Позволяет изменить значения параметров экземпляра расширения в манифесте расширения. |
| ext:info \ PUBLISHER_ID/EXTENSION_ID |
Выводит подробную информацию о расширении. |
| ext:install \ PUBLISHER_ID/EXTENSION_ID |
Добавляет новый экземпляр расширения в манифест расширения. |
| ext:sdk:install | Устанавливает SDK для определения расширений в функциях. |
| ext:list | Перечисляет все экземпляры расширений, установленные в проекте Firebase. Выводит идентификатор экземпляра для каждого расширения. |
| ext:uninstall \ EXTENSION_INSTANCE_ID |
Удаляет экземпляр расширения из манифеста расширения. |
| ext:update \ EXTENSION_INSTANCE_ID |
Обновляет экземпляр расширения до последней версии, указанной в манифесте расширения. |
| ext:export | Экспортирует все установленные экземпляры расширений из вашего проекта в манифест расширения. |
Команды издателя Extensions
| Команда | Описание |
|---|---|
| ext:dev:init | Инициализирует базовый код для нового расширения в текущем каталоге. |
| ext:dev:list \ PUBLISHER_ID |
Выводит список всех расширений, загруженных издателем. |
| ext:dev:register | Регистрирует проект Firebase как издательский проект расширений. |
| 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 для активного проекта Firebase. После выполнения этой команды по Hosting URL вашего проекта будет показываться сообщение "Сайт не найден". |
| Управление сайтами Hosting | |
| firebase hosting:sites:create \ SITE_ID |
Создает новый сайт Hosting в активном проекте Firebase, используя указанный (Необязательно.) Укажите существующее веб-приложение Firebase, которое нужно связать с новым сайтом, передав следующий флаг: |
| firebase hosting:sites:delete \ SITE_ID |
Удаляет указанный сайт Hosting. Перед удалением сайта в интерфейсе командной строки появится запрос подтверждения. (Необязательно.) Чтобы пропустить запрос подтверждения, добавьте следующие флаги: |
| firebase hosting:sites:get \ SITE_ID |
Получает информацию об указанном сайте Hosting. |
| firebase hosting:sites:list |
Показывает все сайты Hosting для активного проекта Firebase. |
| Управление каналами предварительной версии | |
| 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 | Содержит список всех каналов (включая канал с трансляцией) на сайте default Hosting. |
| firebase hosting:channel:open \ CHANNEL_ID |
Открывает браузер с URL указанного канала или возвращает URL, если открыть его в браузере невозможно. |
| Клонирование версий | |
| 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;
Обратите внимание, что вы можете создать свой первый экземпляр Realtime Database по умолчанию в консоли Firebase, используя общий рабочий процесс firebase init или специальный рабочий процесс firebase init database.
После создания экземпляров вы можете управлять ими, как описано в разделе Как управлять отдельными экземплярами с помощью интерфейса командной строки и взаимодействовать с ними.
| Команда | Описание |
|---|---|
| database:get | Получает данные из базы данных активного проекта и отображает их в формате JSON. Поддерживает запросы к индексированным данным. |
| database:instances:create | Создает экземпляр базы данных с указанным названием. Принимает параметр --location для создания базы данных в указанном регионе. Названия регионов, которые можно использовать с этим вариантом, приведены в разделе Как выбрать местоположения для проекта.
Если для текущего проекта нет экземпляра базы данных, вам будет предложено запустить поток firebase init, чтобы создать экземпляр.
|
| database:instances:list | Перечислите все экземпляры баз данных для этого проекта. Принимает параметр --location для получения списка баз данных в указанном регионе. Названия регионов, которые можно использовать с этим параметром, приведены в разделе Как выбрать местоположения для проекта. |
| database:profile | Создает профиль операций в базе данных активного проекта. Подробнее о типах операций Realtime Database… |
| database:push | Добавляет новые данные в список в указанном месте базы данных активного проекта. Получает входные данные из файла, стандартного потока ввода или аргумента командной строки. |
| database:remove | Удаляет все данные в указанном местоположении в базе данных активного проекта. |
| database:set | Заменяет все данные в указанном месте в базе данных активного проекта. Получает входные данные из файла, стандартного потока ввода или аргумента командной строки. |
| database:update | Выполняет частичное обновление в указанном месте базы данных активного проекта. Получает входные данные из файла, стандартного потока ввода или аргумента командной строки. |
команды Remote Config;
Подробнее об этих командах и примерах их использования рассказывается в статье Как изменять Remote Config программным способом.
| Команда | Описание |
|---|---|
| remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
Содержит список из десяти последних версий шаблона. Укажите 0, чтобы вернуть все существующие версии, или передайте параметр --limit, чтобы ограничить количество возвращаемых версий. |
| remoteconfig:get \ --v, version_number VERSION_NUMBER --o, output FILENAME |
Получает шаблон по версии (по умолчанию используется последняя версия) и выводит группы параметров, параметры, названия условий и версию в таблицу. При необходимости вы можете записать выходные данные в указанный файл с помощью параметра -o, FILENAME. |
| remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
Выполняет откат шаблона Remote Config до указанной предыдущей версии или до предыдущей версии по умолчанию (текущая версия -1). Если --force не пройдена, перед откатом выводится запрос Y/N. |
| remoteconfig:experiments:list \ --filter EXPRESSION --pageSize NUMBER --pageToken TOKEN |
Перечисляет все эксперименты Remote Config для проекта с возможностью фильтрации, указания количества экспериментов на странице (по умолчанию 10) и токена страницы в качестве начального смещения для списка. |
| remoteconfig:experiments:get \ EXPERIMENT_ID |
Получает сведения об указанном эксперименте Remote Config. |
| remoteconfig:experiments:delete \ EXPERIMENT_ID |
Удаляет указанный эксперимент Remote Config. |
| remoteconfig:rollouts:list \ --filter EXPRESSION --pageSize NUMBER --pageToken TOKEN |
Содержит список всех развертываний Remote Config для проекта с возможностью фильтрации, указанием количества развертываний на странице (по умолчанию 10) и токеном страницы в качестве начального смещения для списка. |
| remoteconfig:rollouts:get \ ROLLOUT_ID |
Получает сведения о развертывании Remote Config. |
| remoteconfig:rollouts:delete \ ROLLOUT_ID |
Удаляет указанное развертывание Remote Config. |