Interfejs Firebase CLI ( GitHub ) zapewnia różnorodne narzędzia do zarządzania, przeglądania i wdrażania projektów Firebase.
Przed użyciem interfejsu wiersza polecenia Firebase skonfiguruj projekt Firebase .
Skonfiguruj lub zaktualizuj interfejs CLI
Zainstaluj interfejs wiersza polecenia Firebase
Możesz zainstalować interfejs Firebase CLI, korzystając z metody dopasowanej do Twojego systemu operacyjnego, poziomu doświadczenia i/lub przypadku użycia. Niezależnie od sposobu instalacji interfejsu CLI, masz dostęp do tej samej funkcjonalności i polecenia firebase
.
Okna
Możesz zainstalować interfejs Firebase CLI dla Windows, korzystając z jednej z następujących opcji:
Opcja | Opis | Polecane dla... |
---|---|---|
samodzielny plik binarny | Pobierz samodzielny plik binarny dla interfejsu CLI. Następnie możesz uzyskać dostęp do pliku wykonywalnego, aby otworzyć powłokę, w której możesz uruchomić polecenie firebase . | Nowi programiści Programiści nieużywający Node.js lub nieznający go |
npm | Użyj npm (Menedżer pakietów Node), aby zainstalować interfejs CLI i włączyć globalnie dostępne polecenie firebase . | Programiści korzystający z Node.js |
samodzielny plik binarny
Aby pobrać i uruchomić plik binarny interfejsu CLI Firebase, wykonaj następujące kroki:
Uzyskaj dostęp do pliku binarnego, aby otworzyć powłokę, w której możesz uruchomić polecenie
firebase
.Kontynuuj logowanie i testowanie interfejsu CLI .
npm
Aby użyć npm
(Menedżera pakietów Node) do zainstalowania interfejsu CLI Firebase, wykonaj następujące kroki:
Zainstaluj Node.js za pomocą nvm-windows (Menedżer wersji węzła). Zainstalowanie Node.js powoduje automatyczną instalację narzędzi poleceń
npm
.Zainstaluj interfejs CLI Firebase przez
npm
, uruchamiając następujące polecenie:npm install -g firebase-tools
To polecenie włącza globalnie dostępne polecenie
firebase
.Kontynuuj logowanie i testowanie interfejsu CLI .
macOS lub Linux
Możesz zainstalować interfejs Firebase CLI dla systemu macOS lub Linux, korzystając z jednej z następujących opcji:
Opcja | Opis | Polecane dla... |
---|---|---|
automatyczny skrypt instalacyjny | Uruchom pojedyncze polecenie, które automatycznie wykryje Twój system operacyjny, pobierze najnowszą wersję CLI, a następnie włączy globalnie dostępne polecenie firebase . | Nowi programiści Programiści nieużywający Node.js lub nieznający go Zautomatyzowane wdrożenia w środowisku CI/CD |
samodzielny plik binarny | Pobierz samodzielny plik binarny dla interfejsu CLI. Następnie możesz skonfigurować i uruchomić plik binarny, aby dopasować go do swojego przepływu pracy. | W pełni konfigurowalne przepływy pracy za pomocą interfejsu CLI |
npm | Użyj npm (Menedżer pakietów Node), aby zainstalować interfejs CLI i włączyć globalnie dostępne polecenie firebase . | Programiści korzystający z Node.js |
skrypt automatycznej instalacji
Aby zainstalować interfejs CLI Firebase przy użyciu skryptu instalacji automatycznej, wykonaj następujące kroki:
Uruchom następujące polecenie cURL:
curl -sL https://firebase.tools | bash
Ten skrypt automatycznie wykrywa Twój system operacyjny, pobiera najnowszą wersję Firebase CLI, a następnie włącza dostępne globalnie polecenie
firebase
.Kontynuuj logowanie i testowanie interfejsu CLI .
Więcej przykładów i szczegółów dotyczących skryptu automatycznej instalacji można znaleźć w kodzie źródłowym skryptu w witrynie firebase.tools .
samodzielny plik binarny
Aby pobrać i uruchomić plik binarny interfejsu wiersza polecenia Firebase specyficznego dla Twojego systemu operacyjnego, wykonaj następujące kroki:
Pobierz plik binarny Firebase CLI dla swojego systemu operacyjnego: macOS | Linuksa
(Opcjonalnie) Skonfiguruj globalnie dostępne polecenie
firebase
.- Utwórz plik binarny wykonywalny, uruchamiając
chmod +x ./firebase_tools
. - Dodaj ścieżkę pliku binarnego do swojej PATH.
- Utwórz plik binarny wykonywalny, uruchamiając
Kontynuuj logowanie i testowanie interfejsu CLI .
npm
Aby użyć npm
(Menedżera pakietów Node) do zainstalowania interfejsu CLI Firebase, wykonaj następujące kroki:
Zainstaluj Node.js przy użyciu nvm (menedżera wersji węzła).
Zainstalowanie Node.js powoduje automatyczną instalację narzędzi poleceńnpm
.Zainstaluj interfejs CLI Firebase przez
npm
, uruchamiając następujące polecenie:npm install -g firebase-tools
To polecenie włącza globalnie dostępne polecenie
firebase
.Kontynuuj logowanie i testowanie interfejsu CLI .
Zaloguj się i przetestuj interfejs CLI Firebase
Po zainstalowaniu interfejsu CLI należy dokonać uwierzytelnienia. Następnie możesz potwierdzić uwierzytelnienie, wyświetlając listę swoich projektów Firebase.
Zaloguj się do Firebase przy użyciu swojego konta Google, uruchamiając następujące polecenie:
firebase login
To polecenie łączy komputer lokalny z Firebase i zapewnia dostęp do projektów Firebase.
Sprawdź, czy interfejs CLI jest poprawnie zainstalowany i czy uzyskuje dostęp do Twojego konta, wyświetlając listę swoich projektów Firebase. Uruchom następujące polecenie:
firebase projects:list
Wyświetlana lista powinna być taka sama, jak projekty Firebase wymienione w konsoli Firebase .
Zaktualizuj do najnowszej wersji CLI
Ogólnie rzecz biorąc, chcesz używać najnowszej wersji Firebase CLI.
Sposób aktualizacji wersji CLI zależy od systemu operacyjnego i sposobu instalacji CLI.
Okna
- samodzielny plik binarny : pobierz nową wersję , a następnie zastąp ją w swoim systemie
- npm : Uruchom
npm install -g firebase-tools
System operacyjny Mac
- automatyczny skrypt instalacyjny : Uruchom
curl -sL https://firebase.tools | upgrade=true bash
- samodzielny plik binarny : pobierz nową wersję , a następnie zastąp ją w swoim systemie
- npm : Uruchom
npm install -g firebase-tools
Linuksa
- automatyczny skrypt instalacyjny : Uruchom
curl -sL https://firebase.tools | upgrade=true bash
- samodzielny plik binarny : pobierz nową wersję , a następnie zastąp ją w swoim systemie
- npm : Uruchom
npm install -g firebase-tools
Używaj interfejsu CLI w systemach CI
Interfejs CLI Firebase wymaga przeglądarki, aby zakończyć uwierzytelnianie, ale interfejs CLI jest w pełni kompatybilny z CI i innymi środowiskami bezgłowymi.
Na komputerze z przeglądarką zainstaluj Firebase CLI .
Rozpocznij proces logowania, uruchamiając następującą komendę:
firebase login:ci
Odwiedź podany adres URL, a następnie zaloguj się przy użyciu konta Google.
Wydrukuj nowy token odświeżania . Nie będzie to miało wpływu na bieżącą sesję CLI.
Przechowuj token wyjściowy w bezpieczny, ale dostępny sposób w swoim systemie CI.
Użyj tego tokena podczas uruchamiania poleceń
firebase
. Możesz skorzystać z jednej z dwóch poniższych opcji:Opcja 1: Zapisz token jako zmienną środowiskową
FIREBASE_TOKEN
. Twój system automatycznie użyje tokena.Opcja 2: Uruchom wszystkie polecenia
firebase
z flagą--token TOKEN
w swoim systemie CI.
Oto kolejność ładowania tokenów: flaga, zmienna środowiskowa, pożądany projekt Firebase.
Zainicjuj projekt Firebase
Wiele typowych zadań wykonywanych przy użyciu interfejsu CLI, takich jak wdrażanie w projekcie Firebase, wymaga katalogu projektu . Ustanawiasz katalog projektu za pomocą polecenia firebase init
. Katalog projektu jest zwykle tym samym katalogiem, co katalog główny kontroli źródła, a po uruchomieniu firebase init
katalog zawiera plik konfiguracyjny firebase.json
.
Aby zainicjować nowy projekt Firebase, uruchom następujące polecenie z katalogu aplikacji:
firebase init
Polecenie firebase init
przeprowadzi Cię przez proces konfigurowania katalogu projektu i niektórych produktów Firebase. Podczas inicjalizacji projektu interfejs CLI Firebase poprosi Cię o wykonanie następujących zadań:
Wybierz żądane produkty Firebase, które chcesz skonfigurować w projekcie Firebase.
W tym kroku zostanie wyświetlony monit o ustawienie konfiguracji określonych plików dla wybranych produktów. Więcej szczegółów na temat tych konfiguracji można znaleźć w dokumentacji konkretnego produktu (na przykład Hosting ). Pamiętaj, że zawsze możesz uruchomić
firebase init
później, aby skonfigurować więcej produktów Firebase.Wybierz domyślny projekt Firebase.
Ten krok wiąże bieżący katalog projektu z projektem Firebase, dzięki czemu polecenia specyficzne dla projektu (takie jak
firebase deploy
) działają w odniesieniu do odpowiedniego projektu Firebase.Możliwe jest również powiązanie wielu projektów Firebase (takich jak projekt przejściowy i projekt produkcyjny) z tym samym katalogiem projektu.
Pod koniec inicjalizacji Firebase automatycznie tworzy następujące dwa pliki w katalogu głównym lokalnego katalogu aplikacji:
Plik konfiguracyjny
firebase.json
zawierający listę konfiguracji projektu.Plik
.firebaserc
przechowujący aliasy Twojego projektu.
Plik firebase.json
Komenda firebase init
tworzy plik konfiguracyjny firebase.json
w katalogu głównym katalogu projektu.
Plik firebase.json
jest wymagany do wdrożenia zasobów za pomocą interfejsu wiersza polecenia Firebase, ponieważ określa, które pliki i ustawienia z katalogu projektu są wdrażane w projekcie Firebase. Ponieważ niektóre ustawienia można zdefiniować albo w katalogu projektu, albo w konsoli Firebase, upewnij się, że rozwiązałeś wszelkie potencjalne konflikty wdrożeniowe .
Większość opcji hostingu Firebase możesz skonfigurować bezpośrednio w pliku firebase.json
. Jednak w przypadku innych usług Firebase, które można wdrożyć za pomocą interfejsu wiersza polecenia Firebase , polecenie firebase init
tworzy określone pliki, w których można zdefiniować ustawienia tych usług, np. plik index.js
dla Cloud Functions. Możesz także skonfigurować zaczepy przed wdrożeniem lub po wdrożeniu w pliku firebase.json
.
Poniżej znajduje się przykładowy plik firebase.json
z ustawieniami domyślnymi, jeśli podczas inicjalizacji wybierzesz Firebase Hosting, Cloud Firestore i Cloud Functions dla Firebase (z wybranymi opcjami źródła TypeScript i 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"
]
}
}
Chociaż domyślnie używany jest firebase.json
, możesz przekazać flagę --config PATH
, aby określić alternatywny plik konfiguracyjny.
Konfiguracja dla wielu baz danych Cloud Firestore
Po uruchomieniu firebase init
Twój plik firebase.json
będzie zawierał pojedynczy klucz firestore
odpowiadający domyślnej bazie danych Twojego projektu, jak pokazano powyżej.
Jeśli Twój projekt zawiera wiele baz danych Cloud Firestore, edytuj plik firebase.json
, aby powiązać z każdą bazą danych różne reguły bezpieczeństwa Cloud Firestore i pliki źródłowe indeksu bazy danych. Zmodyfikuj plik za pomocą tablicy JSON, z jednym wpisem dla każdej bazy danych.
"firestore": [
{
"database": "default",
"rules": "firestore.default.rules",
"indexes": "firestore.default.indexes.json"
},
{
"database": "ecommerce",
"rules": "firestore.ecommerce.rules",
"indexes": "firestore.ecommerce.indexes.json"
}
],
Pliki Cloud Functions do zignorowania podczas wdrażania
Podczas wdrażania funkcji interfejs CLI automatycznie określa listę plików w katalogu functions
, które należy zignorować. Zapobiega to wdrażaniu w zapleczu obcych plików, które mogłyby zwiększyć rozmiar danych wdrożenia.
Lista plików domyślnie ignorowanych, wyświetlana w formacie JSON, to:
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
Jeśli dodasz własne wartości niestandardowe dla ignore
w firebase.json
, upewnij się, że zachowałeś (lub dodałeś, jeśli jej brakuje) listę plików pokazaną powyżej.
Zarządzaj aliasami projektów
Możesz powiązać wiele projektów Firebase z tym samym katalogiem projektu. Na przykład możesz chcieć użyć jednego projektu Firebase do testowania, a drugiego do produkcji. Korzystając z różnych środowisk projektowych, możesz zweryfikować zmiany przed wdrożeniem do produkcji. Polecenie firebase use
pozwala przełączać się między aliasami, a także tworzyć nowe aliasy.
Dodaj alias projektu
Kiedy podczas inicjalizacji projektu wybierzesz projekt Firebase, projektowi automatycznie zostanie przypisany alias default
. Aby jednak umożliwić uruchamianie poleceń specyficznych dla projektu w innym projekcie Firebase, ale nadal korzystać z tego samego katalogu projektu, uruchom następujące polecenie z katalogu projektu:
firebase use --add
To polecenie monituje o wybranie innego projektu Firebase i przypisanie projektu jako aliasu. Przypisania aliasów są zapisywane w pliku .firebaserc
w katalogu projektu.
Użyj aliasów projektu
Aby użyć przypisanych aliasów projektu Firebase, uruchom dowolne z poniższych poleceń z katalogu projektu.
Komenda | Opis |
---|---|
firebase use | Wyświetl listę aktualnie zdefiniowanych aliasów dla katalogu projektu |
firebase use \ | Kieruje wszystkie polecenia do uruchomienia w określonym projekcie Firebase. Interfejs CLI używa tego projektu jako aktualnie „aktywnego projektu”. |
firebase use --clear | Czyści aktywny projekt. Uruchom |
firebase use \ | Usuwa alias z katalogu projektu. |
Możesz zastąpić aktualnie używany projekt, przekazując flagę --project
za pomocą dowolnego polecenia CLI. Na przykład: możesz ustawić interfejs CLI tak, aby działał w projekcie Firebase, któremu przypisałeś alias staging
. Jeśli chcesz uruchomić pojedyncze polecenie w projekcie Firebase, do którego przypisałeś alias prod
, możesz uruchomić na przykład
.
Kontrola źródła i aliasy projektów
Ogólnie rzecz biorąc, powinieneś sprawdzić swój plik .firebaserc
w kontroli źródła, aby umożliwić Twojemu zespołowi udostępnianie aliasów projektu. Jednakże w przypadku projektów open source lub szablonów startowych zasadniczo nie należy zaewidencjonowywać pliku .firebaserc
.
Jeśli masz projekt programistyczny, który jest przeznaczony wyłącznie do Twojego użytku, możesz albo przekazać flagę --project
przy każdym poleceniu, albo uruchomić firebase use PROJECT_ID
bez przypisywania aliasu do projektu Firebase.
Udostępniaj i testuj swój projekt Firebase lokalnie
Możesz wyświetlić i przetestować swój projekt Firebase pod lokalnie hostowanymi adresami URL przed wdrożeniem w środowisku produkcyjnym. Jeśli chcesz przetestować tylko wybrane funkcje, możesz użyć listy rozdzielanej przecinkami we fladze w poleceniu firebase serve
.
Uruchom następującą komendę z katalogu głównego lokalnego katalogu projektu, jeśli chcesz wykonać jedno z następujących zadań:
- Wyświetl zawartość statyczną aplikacji hostowanej w Firebase.
- Użyj Cloud Functions, aby wygenerować dynamiczną zawartość dla Firebase Hosting , a chcesz używać produkcyjnych (wdrożonych) funkcji HTTP do emulacji Hostingu pod lokalnym adresem URL.
firebase serve --only hosting
Emuluj swój projekt, korzystając z lokalnych funkcji HTTP
Uruchom dowolne z poniższych poleceń z katalogu projektu, aby emulować projekt przy użyciu lokalnych funkcji HTTP.
Aby emulować funkcje HTTP i hosting na potrzeby testowania lokalnych adresów URL, użyj jednego z następujących poleceń:
firebase serve
firebase serve --only functions,hosting // uses a flag
Aby emulować tylko funkcje HTTP, użyj następującego polecenia:
firebase serve --only functions
Przetestuj z innych urządzeń lokalnych
Domyślnie firebase serve
odpowiada tylko na żądania z localhost
. Oznacza to, że będziesz mieć dostęp do hostowanych treści z przeglądarki internetowej na swoim komputerze, ale nie z innych urządzeń w Twojej sieci. Jeśli chcesz testować na innych urządzeniach lokalnych, użyj flagi --host
w następujący sposób:
firebase serve --host 0.0.0.0 // accepts requests to any host
Wdróż w projekcie Firebase
Interfejs wiersza polecenia Firebase zarządza wdrażaniem kodu i zasobów w projekcie Firebase, w tym:
- Nowe wersje Twoich witryn Hostingu Firebase
- Nowe, zaktualizowane lub istniejące funkcje chmury dla Firebase
- Reguły dla bazy danych czasu rzeczywistego Firebase
- Reguły dotyczące przechowywania w chmurze dla Firebase
- Zasady dotyczące Cloud Firestore
- Indeksy dla Cloud Firestore
Aby wdrożyć w projekcie Firebase, uruchom następujące polecenie z katalogu projektu:
firebase deploy
Opcjonalnie możesz dodać komentarz do każdego wdrożenia. Ten komentarz będzie wyświetlany wraz z innymi informacjami o wdrożeniu na stronie Hostingu Firebase Twojego projektu. Na przykład:
firebase deploy -m "Deploying the best new feature ever."
Korzystając z polecenia firebase deploy
, należy pamiętać o następujących kwestiach:
Aby wdrożyć zasoby z katalogu projektu, w katalogu projektu musi znajdować się plik
firebase.json
. Ten plik jest tworzony automatycznie przez poleceniefirebase init
.Domyślnie
firebase deploy
tworzy wersję dla wszystkich możliwych do wdrożenia zasobów w katalogu projektu. Aby wdrożyć określone usługi lub funkcje Firebase, użyj wdrożenia częściowego .
Konflikty wdrożeniowe dotyczące reguł bezpieczeństwa
W przypadku bazy danych Firebase Realtime Database, Cloud Storage for Firebase i Cloud Firestore możesz zdefiniować reguły bezpieczeństwa w lokalnym katalogu projektu lub w konsoli Firebase .
Inną opcją uniknięcia konfliktów wdrożeniowych jest użycie wdrożenia częściowego i zdefiniowanie reguł tylko w konsoli Firebase.
Limity wdrożeniowe
Możliwe (choć mało prawdopodobne), że przekroczysz limit ograniczający szybkość lub wielkość operacji wdrażania Firebase. Na przykład podczas wdrażania bardzo dużej liczby funkcji może zostać wyświetlony komunikat o błędzie HTTP 429 Quota
. Aby rozwiązać takie problemy, spróbuj zastosować wdrożenie częściowe .
Wycofaj wdrożenie
Możesz wycofać wdrożenie Firebase Hosting na stronie Firebase Hosting swojego projektu, wybierając akcję Wycofaj dla żądanej wersji.
Obecnie nie jest możliwe wycofanie wydań reguł bezpieczeństwa dla Firebase Realtime Database, Cloud Storage for Firebase ani Cloud Firestore.
Wdróż określone usługi Firebase
Jeśli chcesz wdrożyć tylko określone usługi lub funkcje Firebase, możesz użyć listy rozdzielanej przecinkami we fladze polecenia firebase deploy
. Na przykład poniższe polecenie wdraża reguły zabezpieczeń Firebase Hosting i Cloud Storage.
firebase deploy --only hosting,storage
W poniższej tabeli wymieniono usługi i funkcje dostępne do częściowego wdrożenia. Nazwy we flagach odpowiadają kluczom w pliku konfiguracyjnym firebase.json
.
Składnia flagi | Wdrożono usługę lub funkcję |
---|---|
--only hosting | Treść hostingu Firebase |
--only database | Reguły bazy danych czasu rzeczywistego Firebase |
--only storage | Reguły Cloud Storage dla Firebase |
--only firestore | Reguły i indeksy Cloud Firestore dla wszystkich skonfigurowanych baz danych |
--only functions | Cloud Functions dla Firebase (możliwe są bardziej szczegółowe wersje tej flagi ) |
Wdróż określone funkcje
Podczas wdrażania funkcji można kierować określone funkcje. Na przykład:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
Inną opcją jest pogrupowanie funkcji w grupy eksportu w pliku /functions/index.js
. Grupowanie funkcji umożliwia wdrożenie wielu funkcji za pomocą jednego polecenia.
Na przykład możesz napisać następujące funkcje, aby zdefiniować groupA
i groupB
:
var functions = require('firebase-functions');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
W tym przykładzie oddzielny plik functions/groupB.js
zawiera dodatkowe funkcje, które szczegółowo definiują funkcje w groupB
Na przykład:
var functions = require('firebase-functions');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
W tym przykładzie możesz wdrożyć wszystkie funkcje groupA
, uruchamiając następującą komendę z katalogu projektu:
firebase deploy --only functions:groupA
Możesz też wybrać konkretną funkcję w grupie, uruchamiając następującą komendę:
firebase deploy --only functions:groupA.function1,groupB.function4
Usuń funkcje
Interfejs CLI Firebase obsługuje następujące polecenia i opcje usuwania wcześniej wdrożonych funkcji:
Usuwa wszystkie funkcje pasujące do określonej nazwy we wszystkich regionach:
firebase functions:delete FUNCTION-1_NAME
Usuwa określoną funkcję działającą w regionie innym niż domyślny:
firebase functions:delete FUNCTION-1_NAME --region REGION_NAME
Usuwa więcej niż jedną funkcję:
firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME
Usuwa określoną grupę funkcji:
firebase functions:delete GROUP_NAME
Pomija monit o potwierdzenie:
firebase functions:delete FUNCTION-1_NAME --force
Skonfiguruj zadania skryptowe przed i po wdrożeniu
Możesz połączyć skrypty powłoki z poleceniem firebase deploy
aby wykonywać zadania przed wdrożeniem lub po wdrożeniu. Na przykład skrypt przed wdrożeniem może transponować kod TypeScript na JavaScript, a hak po wdrożeniu może powiadamiać administratorów o wdrożeniu nowej zawartości witryny w Firebase Hosting.
Aby skonfigurować zaczepy przed wdrożeniem lub po wdrożeniu, dodaj skrypty bash do pliku konfiguracyjnego firebase.json
. Możesz zdefiniować krótkie skrypty bezpośrednio w pliku firebase.json
lub możesz odwoływać się do innych plików znajdujących się w katalogu projektu.
Na przykład poniższy skrypt jest wyrażeniem firebase.json
dla zadania po wdrożeniu, które wysyła komunikat Slack po pomyślnym wdrożeniu w Hostingu Firebase.
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
Plik skryptowy messageSlack.sh
znajduje się w katalogu projektu i wygląda następująco:
curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}' \https://SLACK_WEBHOOK_URL
Możesz skonfigurować punkty predeploy
i postdeploy
dla dowolnych zasobów, które możesz wdrożyć . Pamiętaj, że uruchomienie firebase deploy
uruchamia wszystkie zadania przed i po wdrożeniu zdefiniowane w pliku firebase.json
. Aby uruchomić tylko te zadania, które są powiązane z konkretną usługą Firebase, użyj poleceń częściowego wdrożenia .
Zarówno zaczepy predeploy
, jak i postdeploy
wypisują standardowe wyjście i strumienie błędów skryptów do terminala. W przypadku awarii należy zwrócić uwagę na następujące kwestie:
- Jeśli zaczep przed wdrożeniem nie zakończy się zgodnie z oczekiwaniami, wdrożenie zostanie anulowane.
- Jeśli wdrożenie z jakiegokolwiek powodu nie powiedzie się, zaczepy po wdrożeniu nie zostaną uruchomione.
Zmienne środowiska
W skryptach działających w hakach przed i po wdrożeniu dostępne są następujące zmienne środowiskowe:
-
$GCLOUD_PROJECT
: Identyfikator projektu aktywnego projektu -
$PROJECT_DIR
: Katalog główny zawierający plikfirebase.json
-
$RESOURCE_DIR
: (Tylko w przypadku skryptówhosting
ifunctions
) Lokalizacja katalogu zawierającego zasoby Hostingu lub Cloud Functions do wdrożenia
Zarządzaj wieloma instancjami bazy danych czasu rzeczywistego
Projekt Firebase może mieć wiele instancji Firebase Realtime Database . Domyślnie polecenia CLI współdziałają z domyślną instancją bazy danych.
Można jednak wchodzić w interakcję z instancją bazy danych inną niż domyślna za pomocą metody--instance DATABASE_NAME
. Następujące polecenia obsługują flagę --instance
:
-
firebase database:get
-
firebase database:profile
-
firebase database:push
-
firebase database:remove
-
firebase database:set
-
firebase database:update
Odniesienie do poleceń
Polecenia administracyjne CLI
Komenda | Opis |
---|---|
pomoc | Wyświetla informacje pomocy dotyczące interfejsu CLI lub określonych poleceń. |
w tym | Kojarzy i konfiguruje nowy projekt Firebase w bieżącym katalogu. To polecenie tworzy plik konfiguracyjny firebase.json w bieżącym katalogu. |
Zaloguj sie | Uwierzytelnia CLI na Twoim koncie Firebase. Wymaga dostępu do przeglądarki internetowej. Aby zalogować się do interfejsu CLI w środowiskach zdalnych, które nie pozwalają na dostęp do localhost , użyj metody--no-localhost flaga. |
zaloguj się: ci | Generuje token uwierzytelniający do użytku w środowiskach nieinteraktywnych. |
Wyloguj | Wylogowuje CLI z konta Firebase. |
otwarty | Otwiera przeglądarkę z odpowiednimi zasobami projektu. |
projekty:lista | Wyświetla listę wszystkich projektów Firebase, do których masz dostęp. |
używać | Ustawia aktywny projekt Firebase dla interfejsu CLI. Zarządza aliasami projektów . |
Polecenia zarządzania projektami
Komenda | Opis | |
---|---|---|
Zarządzanie projektami Firebase | ||
projekty:dodajfirebase | Dodaje zasoby Firebase do istniejącego projektu Google Cloud. | |
projekty:tworzenie | Tworzy nowy projekt Google Cloud, a następnie dodaje do nowego projektu zasoby Firebase. | |
projekty:lista | Wyświetla listę wszystkich projektów Firebase, do których masz dostęp. | |
Zarządzanie aplikacjami Firebase (iOS, Android, Internet) | ||
aplikacje: utwórz | Tworzy nową aplikację Firebase w aktywnym projekcie. | |
aplikacje:lista | Wyświetla listę zarejestrowanych aplikacji Firebase w aktywnym projekcie. | |
aplikacje:sdkconfig | Drukuje konfigurację usług Google aplikacji Firebase. | |
konfiguracja: internet | Przestarzałe. Zamiast tego użyj apps:sdkconfig i określ web jako argument platformy.Drukuje konfigurację usług Google aplikacji internetowej Firebase. | |
Zarządzanie skrótami certyfikatów SHA (tylko Android) | ||
aplikacje:Android:sha:Utwórz \ FIREBASE_APP_ID SHA_HASH | Dodaje określony skrót certyfikatu SHA do określonej aplikacji Firebase na Androida. | |
aplikacje:android:sha:usuń \ FIREBASE_APP_ID SHA_HASH | Usuwa określony skrót certyfikatu SHA z określonej aplikacji Firebase na Androida. | |
aplikacje:android:sha:lista \ FIREBASE_APP_ID | Wyświetla skróty certyfikatów SHA dla określonej aplikacji Firebase na Androida. |
Wdrożenia i rozwój lokalny
Te polecenia umożliwiają wdrażanie witryny Firebase Hosting i interakcję z nią.
Komenda | Opis |
---|---|
wdrożyć | Wdraża kod i zasoby z katalogu projektu w aktywnym projekcie. W przypadku Hostingu Firebase wymagany jest plik konfiguracyjny firebase.json . |
podawać | Uruchamia lokalny serwer WWW z konfiguracją Firebase Hosting. W przypadku Hostingu Firebase wymagany jest plik konfiguracyjny firebase.json . |
Polecenia dystrybucji aplikacji
Komenda | Opis |
---|---|
dystrybucja aplikacji:dystrybuuj \ --app FIREBASE_APP_ID | Udostępnia kompilację testerom. |
dystrybucja aplikacji:testerzy:dodaj | Dodaje testerów do projektu. |
dystrybucja aplikacji:testerzy:usuń | Usuwa testerów z projektu. |
Polecenia uwierzytelniania (zarządzania użytkownikami).
Komenda | Opis |
---|---|
autoryzacja:eksport | Eksportuje konta użytkowników aktywnego projektu do pliku JSON lub CSV. Więcej szczegółów można znaleźć na stronach auth:import i auth:export . |
autoryzacja: import | Importuje konta użytkowników z pliku JSON lub CSV do aktywnego projektu. Więcej szczegółów można znaleźć na stronach auth:import i auth:export . |
Polecenia Cloud Firestore
Komenda | Opis |
---|---|
Firestore:lokalizacje | Lista dostępnych lokalizacji dla Twojej bazy danych Cloud Firestore. |
Firestore:bazy danych:utwórz DATABASE_ID | Utwórz instancję bazy danych w trybie natywnym w swoim projekcie Firebase. Polecenie przyjmuje następujące flagi:
|
Firestore:bazy danych:lista | Wyświetl listę baz danych w projekcie Firebase. |
Firestore:bazy danych: pobierz DATABASE_ID | Uzyskaj konfigurację bazy danych dla określonej bazy danych w projekcie Firebase. |
Firestore:bazy danych:aktualizuj DATABASE_ID | Zaktualizuj konfigurację bazy danych określonej bazy danych w projekcie Firebase. Wymagana jest co najmniej jedna flaga. Polecenie przyjmuje następujące flagi:
|
Firestore:bazy danych:usuń DATABASE_ID | Usuń bazę danych w projekcie Firebase. |
Firestore:indeksy | Wyświetl listę indeksów bazy danych w projekcie Firebase. Polecenie przyjmuje następującą flagę:
|
Firestore: usuń | Usuwa dokumenty z bazy aktywnego projektu. Korzystając z interfejsu CLI, możesz rekursywnie usuwać wszystkie dokumenty w kolekcji. Pamiętaj, że usunięcie danych Cloud Firestore za pomocą interfejsu CLI wiąże się z kosztami odczytu i usunięcia. Aby uzyskać więcej informacji, zobacz Omówienie rozliczeń Cloud Firestore . Polecenie przyjmuje następującą flagę:
|
Cloud Functions dla poleceń Firebase
Komenda | Opis |
---|---|
funkcje: konfiguracja: klon | Klonuje środowisko innego projektu do aktywnego projektu Firebase. |
funkcje:konfiguracja:get | Pobiera istniejące wartości konfiguracyjne funkcji Cloud Functions aktywnego projektu. |
funkcje:konfiguracja:zestaw | Przechowuje wartości konfiguracji środowiska wykonawczego funkcji Cloud Functions aktywnego projektu. |
funkcje:konfiguracja:nieustawione | Usuwa wartości z konfiguracji środowiska wykonawczego aktywnego projektu. |
funkcje:log | Odczytuje logi z wdrożonych Cloud Functions. |
Więcej informacji można znaleźć w dokumentacji konfiguracji środowiska .
Polecenia Crashlytics
Komenda | Opis |
---|---|
Crashlytics:mappingfile:generateid \ --resource-file= PATH/TO/ANDROID_RESOURCE.XML | Generuje unikalny identyfikator pliku mapowania w określonym pliku zasobu systemu Android (XML). |
Crashlytics:mappingfile:upload \ --app= FIREBASE_APP_ID \ --resource-file= PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT | Przesyła plik mapowania (TXT) zgodny z Proguard dla tej aplikacji i kojarzy go z identyfikatorem pliku mapowania zadeklarowanym w określonym pliku zasobu Androida (XML). |
Crashlytics:symbole:prześlij \ --app= FIREBASE_APP_ID \ PATH/TO/SYMBOLS | Generuje plik symboli zgodny z Crashlytics dla awarii biblioteki natywnej w systemie Android i przesyła go na serwery Firebase. |
Polecenia rozszerzeń
Komenda | Opis |
---|---|
wew | Wyświetla informacje na temat korzystania z poleceń rozszerzeń Firebase. Wyświetla listę instancji rozszerzeń zainstalowanych w aktywnym projekcie. |
wewn.:konfiguruj \ EXTENSION_INSTANCE_ID | Rekonfiguruje wartości parametrów instancji rozszerzenia w manifeście rozszerzenia . |
wewn.:informacje \ PUBLISHER_ID/EXTENSION_ID | Drukuje szczegółowe informacje o rozszerzeniu. |
wewn.:zainstaluj \ PUBLISHER_ID/EXTENSION_ID | Dodaje nową instancję rozszerzenia do manifestu rozszerzenia . |
wewn.: lista | Wyświetla listę wszystkich instancji rozszerzeń zainstalowanych w projekcie Firebase. Drukuje identyfikator instancji dla każdego rozszerzenia. |
ext:odinstaluj \ EXTENSION_INSTANCE_ID | Usuwa instancję rozszerzenia z manifestu rozszerzenia . |
wewn.: aktualizacja \ EXTENSION_INSTANCE_ID | Aktualizuje instancję rozszerzenia do najnowszej wersji w manifeście rozszerzenia . |
wewn.:eksport | Eksportuje wszystkie zainstalowane wystąpienia rozszerzeń z projektu do manifestu rozszerzenia . |
Polecenia wydawcy rozszerzeń
Komenda | Opis |
---|---|
wewn.:dev:init | Inicjuje szkieletową bazę kodu dla nowego rozszerzenia w bieżącym katalogu. |
ext:dev:lista \ PUBLISHER_ID | Drukuje listę wszystkich rozszerzeń przesłanych przez wydawcę. |
wew:dev:rejestracja | Rejestruje projekt Firebase jako projekt wydawcy rozszerzeń . |
ext:dev:przestarzałe \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE | Wycofuje wersje rozszerzeń zgodne z predykatem wersji. Predykatem wersji może być pojedyncza wersja (np. 1.0.0 ) lub zakres wersji (np. >1.0.0 ).Jeśli nie podano predykatu wersji, wszystkie wersje tego rozszerzenia są przestarzałe. |
ext:dev:nieaktualne \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE | Cofa wersje rozszerzeń zgodne z predykatem wersji. Predykatem wersji może być pojedyncza wersja (np. 1.0.0 ) lub zakres wersji (np. >1.0.0 ).Jeśli nie podano predykatu wersji, cofa wszystkie wersje tego rozszerzenia. |
ext:dev:prześlij \ PUBLISHER_ID/EXTENSION_ID | Przesyła nową wersję rozszerzenia. |
ext:dev:użycie \ PUBLISHER_ID | Wyświetla liczbę instalacji i wskaźniki użycia rozszerzeń przesłanych przez wydawcę. |
Komendy hostingowe
Komenda | Opis |
---|---|
hosting:wyłącz | Zatrzymuje obsługę ruchu Firebase Hosting dla aktywnego projektu Firebase. Po uruchomieniu tego polecenia pod adresem URL hostingu Twojego projektu zostanie wyświetlony komunikat „Nie znaleziono witryny”. |
Zarządzanie witrynami hostingowymi | |
hosting Firebase:witryny:utwórz \ SITE_ID | Tworzy nową witrynę hostingową w aktywnym projekcie Firebase, używając określonego (Opcjonalnie) Określ istniejącą aplikację internetową Firebase, którą chcesz powiązać z nową witryną, przekazując następującą flagę: |
hosting Firebase:witryny:usuń \ SITE_ID | Usuwa określoną witrynę hostingową Przed usunięciem witryny interfejs CLI wyświetla monit o potwierdzenie. (Opcjonalnie) Pomiń monit o potwierdzenie, przekazując następujące flagi: |
hosting Firebase:sites:get \ SITE_ID | Pobiera informacje o określonej witrynie hostingowej |
hosting Firebase:witryny:lista | Wyświetla listę wszystkich witryn hostingowych dla aktywnego projektu Firebase |
Zarządzanie kanałami podglądu | |
hosting Firebase:kanał:utwórz \ CHANNEL_ID | Tworzy nowy kanał podglądu w domyślnej witrynie hostingowej, używając określonego To polecenie nie jest wdrażane w kanale. |
hosting Firebase:kanał:usuń \ CHANNEL_ID | Usuwa określony kanał podglądu Nie można usunąć kanału na żywo witryny. |
hosting Firebase:kanał:wdróż \ CHANNEL_ID | Wdraża zawartość i konfigurację hostingu w określonym kanale podglądu Jeśli kanał podglądu jeszcze nie istnieje, to polecenie tworzy kanał w domyślnej witrynie hostingu przed wdrożeniem w kanale. |
hosting Firebase:kanał:lista | Wyświetla listę wszystkich kanałów (w tym kanału „na żywo”) w domyślnej witrynie hostingowej |
hosting Firebase:kanał:otwarty \ CHANNEL_ID | Otwiera przeglądarkę pod adresem URL określonego kanału lub zwraca adres URL, jeśli otwarcie w przeglądarce nie jest możliwe |
Klonowanie wersji | |
hosting Firebase: klon \ SOURCE_SITE_ID : SOURCE_CHANNEL_ID \ TARGET_SITE_ID : TARGET_CHANNEL_ID | Klonują ostatnio wdrożoną wersję na określonym kanale „źródło” do określonego kanału „docelowego” To polecenie wdraża również na określonym kanale „docelowy”. Jeśli kanał „docelowy” nie istnieje jeszcze, to polecenie tworzy nowy kanał podglądu w witrynie hostingu „docelowego” przed wdrożeniem na kanale. |
Firebase Hosting: Clone \ SOURCE_SITE_ID :@ VERSION_ID \ TARGET_SITE_ID : TARGET_CHANNEL_ID | Klonują określoną wersję do określonego kanału „docelowego” To polecenie wdraża również na określonym kanale „docelowy”. Jeśli kanał „docelowy” nie istnieje jeszcze, to polecenie tworzy nowy kanał podglądu w witrynie hostingu „docelowego” przed wdrożeniem na kanale. W |
Polecenia bazy danych w czasie rzeczywistym
Zauważ, że możesz utworzyć początkową, domyślną instancję bazy danych w czasie rzeczywistym w konsoli FireBase lub za pomocą ogólnego przepływu pracy firebase init
lub specyficznego przepływu firebase init database
.
Po utworzeniu instancji możesz zarządzać nimi, jak omówiono w zarządzaniu wieloma instancjami bazy danych w czasie rzeczywistym .
Komenda | Opis |
---|---|
Baza danych: Get | Pobiera dane z bazy danych aktywnego projektu i wyświetla je jako JSON. Obsługuje zapytania dotyczące danych indeksowanych. |
baza danych: instancje: Utwórz | Tworzy instancję bazy danych o określonej nazwie instancji. Akceptuje opcję --location do tworzenia bazy danych w określonym regionie. Aby nazwy regionu mogą używać z tą opcją, zobacz Wybierz lokalizacje swojego projektu . Jeśli nie ma instancji bazy danych dla bieżącego projektu, masz monit o uruchomienie firebase init Flow w celu utworzenia instancji. |
baza danych: instancje: lista | Wymień wszystkie instancje bazy danych dla tego projektu. Akceptuje opcję --location do wyświetlania baz danych w określonym regionie. Aby nazwy regionu mogą używać z tą opcją, zobacz wybrane lokalizacje swojego projektu . |
Baza danych: profil | Buduje profil operacji w bazie danych aktywnego projektu. Aby uzyskać więcej informacji, patrz typy operacji bazy danych w czasie rzeczywistym . |
Baza danych: push | Przesuwa nowe dane do listy w określonej lokalizacji w bazie danych aktywnego projektu. Przyjmuje dane wejściowe z pliku, stdina lub argumentu wiersza polecenia. |
Baza danych: Usuń | Usuwa wszystkie dane w określonej lokalizacji w bazie danych aktywnego projektu. |
baza danych: SET | Zastępuje wszystkie dane w określonej lokalizacji w bazie danych aktywnego projektu. Przyjmuje dane wejściowe z pliku, stdina lub argumentu wiersza polecenia. |
Baza danych: aktualizacja | Wykonuje częściową aktualizację w określonej lokalizacji w bazie danych aktywnego projektu. Przyjmuje dane wejściowe z pliku, stdina lub argumentu wiersza polecenia. |
Polecenia konfiguracyjne zdalne
Komenda | Opis |
---|---|
RemoteConfig: Wersje: List \ -Limit NUMBER_OF_VERSIONS | Wymienia najnowsze dziesięć wersji szablonu. Określ 0 , aby zwrócić wszystkie istniejące wersje lub opcjonalnie przejdź opcję --limit , aby ograniczyć liczbę zwracanych wersji. |
RemoteConfig: Get \ --v, version_number VERSION_NUMBER --o, FILENAME wyjściowego | Pobiera szablon według wersji (domyślnie do najnowszej wersji) i wysyła grupy parametrów, parametry oraz nazwy warunku i wersji w tabeli. Opcjonalnie możesz zapisać dane wyjściowe do określonego pliku z -o, FILENAME . |
RemoteConfig: Rolback \ --v, version_number VERSION_NUMBER --siła | ROZCI POWIEDZIEJ SZTODY CONFIG ZADAWANYM NADZIEJEM NUMERUJĄCEM NUMERUJĄCEJ WYKORZYSTANIEM lub WYMAGI DO NAJWAŻNIEJSZEJ Poprzednią Wersję (Wersja bieżąca -1). O ile --force nie zostanie przekazane, wynika z T/N przed przejściem do wycofania. |