interfejs wiersza poleceń Firebase (GitHub) oferuje narzędzia do zarządzania projektami Firebase oraz ich wyświetlania i wdrażania w nich.
Przed użyciem interfejsu wiersza poleceń Firebase skonfigurować projekt Firebase.
Konfigurowanie lub aktualizowanie interfejsu wiersza poleceń
Zainstaluj interfejs wiersza poleceń Firebase
Możesz zainstalować interfejs wiersza poleceń Firebase, używając metody odpowiedniej dla Twojej systemu operacyjnego
systemu, doświadczenia
lub przypadku użycia. Niezależnie od sposobu instalacji
interfejsu wiersza poleceń, masz dostęp do tych samych funkcji co polecenie firebase
.
Windows
Możesz zainstalować interfejs wiersza poleceń Firebase w systemie Windows przy użyciu jednej z tych metod: opcje:
Opcja | Opis | Zalecane dla... |
---|---|---|
samodzielny plik binarny | Pobierz samodzielny plik binarny dla interfejsu wiersza poleceń. Następnie możesz uzyskać dostęp do
plik wykonywalny, aby otworzyć powłokę, w której można uruchomić
firebase .
|
Nowi deweloperzy Deweloperzy, którzy nie używają lub nie znają tej usługi Node.js |
npm, | Użyj npm (menedżera pakietów węzłów), aby zainstalować interfejs wiersza poleceń i włączyć
dostępne globalnie polecenie firebase .
|
Deweloperzy używający usługi Node.js |
samodzielny plik binarny
Aby pobrać i uruchomić plik binarny interfejsu wiersza poleceń Firebase, wykonaj te czynności:
Pobierz Plik binarny interfejsu wiersza poleceń Firebase dla Windows.
Uzyskaj dostęp do pliku binarnego, aby otworzyć powłokę, w której można uruchomić aplikację
firebase
.Przejdź dalej, aby zalogować się i przetestować interfejs wiersza poleceń.
npm
Aby użyć npm
(menedżera pakietów węzłów) do zainstalowania
interfejsu wiersza poleceń Firebase, wykonaj te czynności:
Zainstaluj Node.js za pomocą nvm-windows (Menedżer wersji węzłów). Automatycznie instaluję Node.js z narzędzi poleceń
npm
.Zainstaluj interfejs wiersza poleceń Firebase za pomocą
npm
, uruchamiając to polecenie:npm install -g firebase-tools
To polecenie włącza dostępne globalnie polecenie
firebase
.Przejdź dalej, aby zalogować się i przetestować interfejs wiersza poleceń.
macOS lub Linux
Możesz zainstalować interfejs wiersza poleceń Firebase w systemach macOS lub Linux przy użyciu jednej z następujące opcje:
Opcja | Opis | Zalecane dla... |
---|---|---|
skrypt automatycznej instalacji | Wystarczy jedno polecenie, które automatycznie wykryje system operacyjny
pobiera najnowszą wersję interfejsu wiersza poleceń, a potem włącza dostępny globalnie
firebase .
|
Nowi deweloperzy Deweloperzy, którzy nie używają lub nie znają tej usługi Node.js Automatyczne wdrożenia w CI/CD środowisko |
samodzielny plik binarny | Pobierz samodzielny plik binarny dla interfejsu wiersza poleceń. Potem możesz: skonfigurować i uruchomić plik binarny zgodnie z przepływem pracy. | Możliwość pełnego dostosowania przepływów pracy za pomocą interfejsu wiersza poleceń |
npm, | Użyj npm (menedżera pakietów węzłów), aby zainstalować interfejs wiersza poleceń i włączyć
dostępne globalnie polecenie firebase .
|
Deweloperzy używający usługi Node.js |
skrypt automatycznej instalacji
Aby zainstalować interfejs wiersza poleceń Firebase za pomocą skryptu instalacji automatycznej, postępuj zgodnie z instrukcjami wykonaj te czynności:
Uruchom to polecenie cURL:
curl -sL https://firebase.tools | bash
Ten skrypt automatycznie wykrywa system operacyjny, pobiera w najnowszej wersji interfejsu wiersza poleceń Firebase, a następnie włącza dostępną globalnie
firebase
.Przejdź dalej, aby zalogować się i przetestować interfejs wiersza poleceń.
Więcej przykładów i szczegółowych informacji o skrypcie automatycznej instalacji znajdziesz tutaj: do kodu źródłowego skryptu pod adresem firebase.tools.
samodzielny plik binarny
Aby pobrać i uruchomić plik binarny konkretnego interfejsu wiersza poleceń Firebase dla używanego systemu operacyjnego, wykonaj następujące czynności:
Pobierz plik binarny interfejsu wiersza poleceń Firebase dla swojego systemu operacyjnego: macOS | Linux
(Opcjonalnie) Skonfiguruj dostępne globalnie polecenie
firebase
.- Ustaw plik binarny jako wykonywalny, uruchamiając
chmod +x ./firebase_tools
. - Dodaj ścieżkę pliku binarnego do ŚCIEŻKA.
- Ustaw plik binarny jako wykonywalny, uruchamiając
Przejdź dalej, aby zalogować się i przetestować interfejs wiersza poleceń.
npm
Aby zainstalować interfejs wiersza poleceń Firebase za pomocą npm
(menedżera pakietów węzłów),
wykonaj te czynności:
Zainstaluj Node.js za pomocą nvm (menedżera wersji węzłów).
Instalacja Node.js automatycznie się zainstaluje z narzędzi poleceńnpm
.Zainstaluj interfejs wiersza poleceń Firebase za pomocą
npm
, uruchamiając to polecenie:npm install -g firebase-tools
To polecenie włącza dostępne globalnie polecenie
firebase
.Przejdź dalej, aby zalogować się i przetestować interfejs wiersza poleceń.
Zaloguj się i przetestuj interfejs wiersza poleceń Firebase
Po zainstalowaniu interfejsu wiersza poleceń musisz się uwierzytelnić. Następnie potwierdź, że dzięki wyświetlaniu listy projektów Firebase.
Zaloguj się do Firebase, korzystając ze swojego konta Google, uruchamiając następujące polecenie polecenie:
firebase login
To polecenie połączy Twój komputer lokalny z Firebase i przyzna Ci dostęp do projektów Firebase.
Sprawdź, czy interfejs wiersza poleceń jest prawidłowo zainstalowany i uzyskuje dostęp do Twojego konta Twoich projektów Firebase. Uruchom to polecenie:
firebase projects:list
Wyświetlana lista powinna być taka sama jak projektów Firebase wymienionych w konsolę Firebase.
Zaktualizuj do najnowszej wersji interfejsu wiersza poleceń
Ogólnie rzecz biorąc, chcesz używać najnowszej wersji interfejsu wiersza poleceń Firebase.
Sposób aktualizowania wersji interfejsu wiersza poleceń zależy od systemu operacyjnego i sposobu zainstalowany interfejs wiersza poleceń.
Windows
- samodzielny plik binarny: pobierz nowy plik binarny wersja, a następnie zamień go w swoim systemie
- npm: uruchomienie
npm install -g firebase-tools
macOS
- automatyczny skrypt instalacji: uruchom
curl -sL https://firebase.tools | upgrade=true bash
- samodzielny plik binarny: pobierz nowy plik binarny wersji, a potem wymień to w swoim systemie
- npm: uruchomienie
npm install -g firebase-tools
Linux
- automatyczny skrypt instalacji: uruchom
curl -sL https://firebase.tools | upgrade=true bash
- samodzielny plik binarny: pobierz nowy plik binarny wersji, a potem wymień to w swoim systemie
- npm: uruchomienie
npm install -g firebase-tools
Używanie interfejsu wiersza poleceń w systemach CI
Interfejs wiersza poleceń Firebase wymaga przeglądarki do zakończenia uwierzytelniania, ale interfejs Interfejs wiersza poleceń jest w pełni zgodny z CI i innymi środowiskami bez interfejsu graficznego.
Na komputerze z przeglądarką zainstaluj interfejs wiersza poleceń Firebase.
Rozpocznij proces logowania, uruchamiając następujące polecenie:
firebase login:ci
Otwórz podany adres URL, a następnie zaloguj się za pomocą konta Google.
Wydrukuj nowy dokument token odświeżania. Nie będzie to miało wpływu na bieżącą sesję interfejsu wiersza poleceń.
Przechowuj token wyjściowy w bezpieczny, ale dostępny sposób w systemie CI.
Użyj tego tokena do uruchamiania poleceń
firebase
. Możesz użyć dowolnej z tych metod następujące dwie opcje:Opcja 1. Zapisywanie tokena jako zmiennej środowiskowej
FIREBASE_TOKEN
System automatycznie użyje tokena.Opcja 2: uruchom wszystkie polecenia
firebase
z parametrem--token TOKEN
w systemie CI.
Oto kolejność wczytywania tokenów: flaga, środowisko wybranego projektu Firebase.
Inicjowanie projektu Firebase
Wiele typowych zadań wykonywanych za pomocą interfejsu wiersza poleceń, takich jak wdrażanie w Firebase
musisz mieć katalog projektów. Tworzysz katalog projektu
za pomocą polecenia firebase init
. Katalog projektu jest zwykle taki sam
jako katalog główny źródła, a po uruchomieniu polecenia firebase init
katalog zawiera konfigurację firebase.json
.
Aby zainicjować nowy projekt Firebase, uruchom następujące polecenie na swoim katalogu aplikacji:
firebase init
Polecenie firebase init
przeprowadzi Cię przez proces konfigurowania katalogu projektu
i niektóre usługi Firebase. Podczas inicjowania projektu interfejs wiersza poleceń Firebase
zawiera prośbę o wykonanie tych czynności:
Wybierz usługi Firebase, które chcesz skonfigurować w projekcie Firebase.
W tym kroku pojawi się prośba o ustawienie konfiguracji dla konkretnych plików na potrzeby platformy wybrane produkty. Więcej informacji o tych konfiguracjach znajdziesz tutaj: dokumentacji konkretnej usługi (np. Hosting). Pamiętaj, że zawsze można uruchomić
firebase init
później, aby skonfigurować więcej usług Firebase.Wybierz domyślny projekt Firebase.
Ten krok powiąże bieżący katalog projektu z projektem Firebase, które polecenia specyficzne dla projektu (takie jak
firebase deploy
) są uruchamiane w odniesieniu do dla odpowiedniego projektu Firebase.Możesz też powiąż wiele projektów Firebase (np. projektu przejściowego i produkcyjnego) z tym samym projektem katalogu.
Po zainicjowaniu Firebase automatycznie tworzy 2 następujące: w katalogu głównym lokalnego katalogu aplikacji.
Plik konfiguracji
firebase.json
zawierający listę konfiguracji projektu.Plik
.firebaserc
, który zawiera Twój projekt aliasy.
Plik firebase.json
Polecenie firebase init
tworzy
firebase.json
plik konfiguracji w katalogu głównym projektu.
Plik firebase.json
jest wymagany do
wdrażać zasoby za pomocą interfejsu wiersza poleceń Firebase, ponieważ określa on:
które pliki i ustawienia z katalogu projektu są wdrożone
projekt Firebase. Ponieważ niektóre ustawienia można zdefiniować zarówno w projekcie,
lub
Firebase, upewnij się, że masz do czynienia z potencjalnymi
konfliktów wdrożeń.
Możesz skonfigurować większość opcji usługi Firebase Hosting
bezpośrednio w pliku firebase.json
. Jednak w przypadku innych
Usługi Firebase, które można wdrożyć za pomocą interfejsu wiersza poleceń Firebase,
polecenie firebase init
tworzy określone pliki, w których można określić ustawienia
dla tych usług, na przykład plik index.js
dla Cloud Functions. Dostępne opcje
skonfigurować punkty zaczepienia 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:
wybierz Firebase Hosting, Cloud Firestore i Cloud Functions for Firebase
(z wybranymi opcjami źródła i lintowania TypeScript) podczas inicjowania.
{
"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ż jest używany domyślnie firebase.json
, możesz przesłać parametr
--config PATH
, aby określić wersję alternatywną
.
Konfiguracja dla wielu baz danych Cloud Firestore
Gdy uruchomisz firebase init
, plik firebase.json
będzie zawierał jeden
Klucz firestore
odpowiadający domyślnej bazie danych projektu, jak pokazano na ilustracji
powyżej.
Jeśli Twój projekt zawiera wiele baz danych Cloud Firestore, zmodyfikuj
firebase.json
plik do powiązania różnych Cloud Firestore Security Rules i
plików źródłowych indeksu bazy danych z każdą bazą danych. Zmodyfikuj plik za pomocą
Tablica JSON z 1 wpisem na każdą bazę danych.
"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 plików do zignorowania podczas wdrażania
Podczas wdrażania funkcji interfejs wiersza poleceń automatycznie określa
listę plików w katalogu functions
, które mają być ignorowane. Ten
zapobiega wdrażaniu w backendzie zbędnych plików, które mogłyby
zwiększyć rozmiar danych wdrożenia.
Domyślnie ignorowana lista plików w formacie JSON:
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
Jeśli dodasz własne wartości niestandardowe dla atrybutu ignore
w tabeli firebase.json
, upewnij się,
zachowaj (lub dodaj, jeśli jej nie ma) listę plików widoczną powyżej.
Zarządzanie aliasami projektów
Z tym samym katalogiem projektów możesz powiązać wiele projektów Firebase.
Możesz na przykład użyć jednego projektu Firebase na potrzeby testowania, a drugiego
do produkcji. Korzystając z różnych środowisk projektów, możesz weryfikować zmiany
przed wdrożeniem w środowisku produkcyjnym. Polecenie firebase use
umożliwia przełączenie
między aliasami oraz tworzyć nowe.
Dodaj alias projektu
Gdy podczas projektowania w projekcie wybierzesz projekt Firebase
zainicjowanie, projekt zostanie automatycznie
przypisano alias użytkownika default
. Aby jednak zezwolić na polecenia
projektowe do
uruchomić w innym projekcie Firebase, ale nadal używać tego samego projektu;
w katalogu projektu, uruchom to polecenie:
firebase use --add
Wyświetla się prośba o wybranie innego projektu Firebase i przypisanie
projekt jako alias. Przypisania aliasów są zapisywane w pliku .firebaserc
wewnątrz
katalogu projektu.
Używanie aliasów projektów
Aby używać przypisanych aliasów projektu Firebase, uruchom dowolne z tych poleceń w sekcji: w katalogu projektu.
Polecenie | Opis |
---|---|
firebase use |
Wyświetl listę obecnie zdefiniowanych aliasów katalogu projektu |
firebase use \ |
Kieruje wszystkie polecenia do określonego projektu Firebase.
Interfejs wiersza poleceń używa tego projektu jako obecnie „aktywnego projektu”. |
firebase use --clear |
Usuwa aktywny projekt.
Uruchom |
firebase use \ |
Usuwa alias z katalogu projektu. |
Możesz zastąpić to, który jest używany jako obecnie aktywny projekt, poprzez przekazanie
flagę --project
z dowolnym poleceniem interfejsu wiersza poleceń. Na przykład: możesz określić
Interfejs wiersza poleceń uruchamiający się w projekcie Firebase, któremu przypisano staging
alias. Jeśli chcesz uruchomić jedno polecenie dla projektu Firebase, który
ma przypisany alias prod
, możesz uruchomić na przykład
Element sterujący źródła i aliasy projektu
Ogólnie rzecz biorąc, sprawdź plik .firebaserc
w kontroli źródła, aby
aby zespół mógł udostępniać aliasy projektów. Jednak w przypadku projektów open source
szablonów startowych, zwykle nie należy sprawdzać pliku .firebaserc
.
Jeśli masz projekt deweloperski, który jest przeznaczony tylko do Ciebie, możesz:
flagę --project
przy każdym poleceniu lub uruchomieniu
firebase use PROJECT_ID
bez przypisywania aliasu do domeny
w projekcie Firebase.
Udostępnianie i testowanie projektu Firebase lokalnie
Możesz wyświetlić i przetestować projekt Firebase pod lokalnymi adresami URL
wdrażanie w środowisku produkcyjnym. Jeśli chcesz testować tylko wybrane funkcje, możesz użyć
rozdzielaną przecinkami listę we fladze w poleceniu firebase serve
.
Uruchom to polecenie w katalogu głównym projektu lokalnego, jeśli: chcesz wykonać jedną z tych czynności:
- Wyświetl treści statyczne aplikacji hostowanej w Firebase.
- Używaj Cloud Functions do generowania zawartości dynamicznej dla Firebase Hosting i chcesz korzystać z produkcyjne (wdrożone) funkcje HTTP do emulacji funkcji Hosting pod lokalnym adresem URL.
firebase serve --only hosting
Emuluj projekt za pomocą lokalnych funkcji HTTP
Uruchom dowolne z tych poleceń z katalogu projektu, aby emulować za pomocą lokalnych funkcji HTTP.
Aby emulować funkcje HTTP i hosting na potrzeby testowania lokalnych adresów URL, użyj jednej z tych opcji: tych poleceń:
firebase serve
firebase serve --only functions,hosting // uses a flag
Aby emulować tylko funkcje HTTP, użyj tego polecenia:
firebase serve --only functions
Testowanie z innych urządzeń lokalnych
Domyślnie firebase serve
odpowiada tylko na prośby, które wysyła localhost
. Ten
Oznacza to, że dostęp do hostowanych treści będzie możliwy przez internet na komputerze.
z przeglądarki, ale nie z innych urządzeń w sieci. Jeśli chcesz prowadzić testy
na innych urządzeniach lokalnych, użyj flagi --host
w ten sposób:
firebase serve --host 0.0.0.0 // accepts requests to any host
Wdróż w projekcie Firebase
Interfejs wiersza poleceń Firebase zarządza wdrażaniem kodu i zasobów w Firebase projektu, w tym:
- Nowe wersje Twoich Firebase Hosting witryn
- Nowe, zaktualizowane lub istniejące Cloud Functions for Firebase
- Reguły dotyczące domeny Firebase Realtime Database
- Reguły dotyczące domeny Cloud Storage for Firebase
- Reguły dotyczące domeny Cloud Firestore
- Indeks – Cloud Firestore
Aby przeprowadzić wdrożenie w projekcie Firebase, uruchom w projekcie to polecenie: katalogu:
firebase deploy
Do każdego wdrożenia możesz opcjonalnie dodać komentarz. Ten komentarz będzie wraz z innymi informacjami o wdrożeniu w Firebase Hosting Przykład:
firebase deploy -m "Deploying the best new feature ever."
Podczas korzystania z polecenia firebase deploy
pamiętaj o tych kwestiach:
Aby wdrożyć zasoby z katalogu projektu, musi mieć plik
firebase.json
. Ten plik jest utworzony automatycznie przezfirebase init
.Domyślnie
firebase deploy
tworzy wersję dla wszystkich zasobów, które można wdrożyć w katalogu projektu. Aby wdrożyć określone usługi lub funkcje Firebase: skorzystaj z częściowego wdrożenia.
Konflikty wdrażania reguł zabezpieczeń
W przypadku usług Firebase Realtime Database, Cloud Storage for Firebase i Cloud Firestore: możesz zdefiniować reguły zabezpieczeń w lokalnym katalogu projektu albo Konsola Firebase.
Innym sposobem uniknięcia konfliktów wdrożenia jest użyj częściowego wdrożenia i zdefiniuj reguły tylko w sekcji konsoli Firebase.
Limity wdrożenia
Istnieje prawdopodobieństwo (choć mało prawdopodobne), że przekroczysz limit, który ogranicza
częstotliwość lub wielkość operacji wdrażania Firebase. Na przykład, gdy
wdrażając bardzo dużą liczbę funkcji, możesz otrzymać HTTP 429 Quota
. Aby rozwiązać takie problemy, wypróbuj
przy użyciu częściowego wdrożenia.
Wycofywanie wdrożenia
Możesz wycofać wdrożenie Firebase Hosting z poziomu Firebase Hosting , wybierając działanie przywrócenia dla wybranej wersji.
Obecnie nie można wycofywać wersji reguł zabezpieczeń w przypadku Firebase Realtime Database, Cloud Storage for Firebase lub Cloud Firestore.
Wdrażanie określonych usług Firebase
Jeśli chcesz wdrożyć tylko określone usługi lub funkcje Firebase, możesz użyć
oddzielona przecinkami we fladze w poleceniu firebase deploy
. Przykład:
to polecenie wdrożyło treść Firebase Hosting i
Cloud Storage reguły zabezpieczeń.
firebase deploy --only hosting,storage
W tabeli poniżej znajdziesz usługi i funkcje dostępne w przypadku
lub wdrożenia. Nazwy w flagach odpowiadają kluczom w
firebase.json
.
Składnia flagi | Wdrożona usługa lub funkcja |
---|---|
--only hosting |
Treści (Firebase Hosting) |
--only database |
Firebase Realtime Database reguły |
--only storage |
Cloud Storage for Firebase reguły |
--only firestore |
Cloud Firestore reguła i indeksy dla wszystkich skonfigurowanych baz danych |
--only functions |
Cloud Functions for Firebase (to możliwe są bardziej szczegółowe wersje tej flagi) |
Wdrażanie określonych funkcji
Podczas wdrażania funkcji możesz kierować reklamy na określone funkcje. Przykład:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
Inną opcją jest pogrupowanie funkcji w grupy eksportu w
/functions/index.js
. Funkcje grupowania umożliwiają wdrażanie wielu
za pomocą jednego polecenia.
Na przykład możesz napisać następujące funkcje, aby zdefiniować groupA
i
groupB
:
var functions = require('firebase-functions/v1');
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
które dokładnie definiują funkcje w funkcji groupB
. Przykład:
var functions = require('firebase-functions/v1');
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 polecenie
to polecenie z katalogu projektu:
firebase deploy --only functions:groupA
Możesz też ustawić kierowanie na konkretną funkcję w grupie, uruchamiając następujące polecenie polecenie:
firebase deploy --only functions:groupA.function1,groupB.function4
Usuwanie funkcji
Interfejs wiersza poleceń Firebase obsługuje te polecenia i opcje w przypadku usuwanie wcześniej wdrożonych funkcji:
Usuwa wszystkie funkcje, które pasują 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ż 1 funkcję:
firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME
Usuwa określoną grupę funkcji:
firebase functions:delete GROUP_NAME
Pomija prośbę o potwierdzenie:
firebase functions:delete FUNCTION-1_NAME --force
Konfigurowanie zadań skryptów wykonywanych przed wdrożeniem i po wdrożeniu
Możesz połączyć skrypty powłoki z poleceniem firebase deploy
, aby wykonać działanie
zadań przed wdrożeniem lub po wdrożeniu. Skrypt wstępnego wdrażania może na przykład
przetranspilować kod TypeScript do JavaScriptu, a haczyk po wdrożeniu może powiadomić
administratorzy nowych treści witryn wdrażają w Firebase Hosting.
Aby skonfigurować punkty zaczepienia przed wdrożeniem lub po wdrożeniu, dodaj skrypty bash do
firebase.json
. Możesz zdefiniować
skryptów bezpośrednio w pliku firebase.json
, ale możesz też odwołać się do innych
które znajdują się w katalogu projektu.
Na przykład poniższy skrypt jest wyrażeniem firebase.json
oznaczającym
zadanie po wdrożeniu, które wysyła wiadomość do Slacka po udanym wdrożeniu do
Firebase Hosting
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
Plik skryptu messageSlack.sh
znajduje się w katalogu projektu i wygląda
podobny do tego:
curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}' \https://SLACK_WEBHOOK_URL
Możesz skonfigurować punkty zaczepienia predeploy
i postdeploy
dla dowolnego
które możesz wdrożyć. Pamiętaj, że aplikacja firebase deploy
aktywuje wszystkie zadania przed wdrożeniem i po wdrożeniu zdefiniowane w
firebase.json
. Uruchamianie tylko tych zadań powiązanych z konkretnym
usługi Firebase, użyj częściowych poleceń wdrożeniowych.
Zarówno haczyki predeploy
, jak i postdeploy
wyświetlają standardowe dane wyjściowe i błąd.
strumieniowania skryptów do terminala. W przypadku awarii pamiętaj o tych kwestiach:
- Jeśli punkt zaczepienia przed wdrożeniem nie zakończy się zgodnie z oczekiwaniami, wdrożenie zostanie anulowane.
- Jeśli wdrożenie nie powiedzie się z jakiegoś powodu, punkty zaczepienia po wdrożeniu nie zostaną aktywowane.
Zmienne środowiskowe
W skryptach działających w punktach zaczepienia przed wdrożeniem i po wdrożeniu: zmienne środowiskowe są dostępne:
$GCLOUD_PROJECT
: identyfikator aktywnego projektu.$PROJECT_DIR
: katalog główny zawierający plikfirebase.json
.$RESOURCE_DIR
: (tylko w przypadku skryptówhosting
ifunctions
) jest lokalizacja katalogu, w którym znajduje się Hosting lub Zasoby do wdrożenia: Cloud Functions
Zarządzaj wieloma instancjami Realtime Database
Projekt Firebase może mieć wiele instancji Firebase Realtime Database. Według domyślnie polecenia interfejsu wiersza poleceń współdziałają z domyślną instancją bazy danych.
Możesz jednak korzystać z instancji bazy danych innej niż domyślna, korzystając z
--instance DATABASE_NAME
--instance
:
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
Dokumentacja polecenia
Polecenia administracyjne interfejsu wiersza poleceń
Polecenie | Opis |
---|---|
pomoc | Wyświetla informacje pomocy dotyczące interfejsu wiersza poleceń lub konkretnych poleceń. |
init, | Przypisuje i konfiguruje nowy projekt Firebase w bieżącym katalogu.
To polecenie tworzy
firebase.json
. |
login | Uwierzytelnia interfejs wiersza poleceń na Twoim koncie Firebase. Wymaga dostępu do
przeglądarki. Aby zalogować się w interfejsie wiersza poleceń w środowiskach zdalnych, które nie zezwalają na dostęp do: localhost , użyj funkcji --no-localhost |
login:ci | Generuje token uwierzytelniania do użytku w trybie nieinteraktywnym w różnych środowiskach. |
wyloguj się | Wylogowuje interfejs wiersza poleceń z konta Firebase. |
otwórz | Otwiera w przeglądarce odpowiednie zasoby projektu. |
projects:lista | Wyświetla listę wszystkich projektów Firebase, do których masz dostęp. |
użyj | Konfiguruje aktywny projekt Firebase na potrzeby interfejsu wiersza poleceń. Zarządza aliasami projektów. |
Polecenia zarządzania projektami
Polecenie | Opis | |
---|---|---|
Zarządzanie projektami Firebase | ||
projects:dodajfirebase | Dodaje zasoby Firebase do istniejącego projektu Google Cloud. | |
projects:utwórz | Tworzy nowy projekt Google Cloud, a następnie dodaje zasoby Firebase do: do nowego projektu. | |
projects:lista | Wyświetla listę wszystkich projektów Firebase, do których masz dostęp. | |
Zarządzanie aplikacjami Firebase (iOS, Android, internet) | ||
apps:create: | Tworzy nową aplikację Firebase w aktywnym projekcie. | |
apps:list | Wyświetla listę zarejestrowanych aplikacji Firebase w aktywnym projekcie. | |
apps:sdkconfig | Drukuje konfigurację usług Google w aplikacji Firebase. | |
konfiguracja:internet | Wycofano. Zamiast tego używaj: apps:sdkconfig i
określ web jako argument platformy.Wydruki konfigurację usług Google w aplikacji internetowej Firebase. |
|
Zarządzanie haszami certyfikatów SHA (tylko Android) | ||
apps:android:sha:create FIREBASE_APP_ID SHA_HASH |
Dodaje określony hasz certyfikatu SHA do podanych wartości Aplikacja Firebase na Androida. | |
apps:android:sha:delete_\ FIREBASE_APP_ID SHA_HASH |
Usuwa określony hasz certyfikatu SHA z podanego Aplikacja Firebase na Androida. | |
apps:android:sha:list \ FIREBASE_APP_ID |
Zawiera listę skrótów certyfikatów SHA dla podanych wartości Aplikacja Firebase na Androida. |
Wdrażanie i programowanie lokalne
Te polecenia pozwalają wdrożyć witrynę Firebase Hosting i korzystać z niej.
Polecenie | Opis |
---|---|
wdróż | Wdraża kod i zasoby z katalogu projektu w aktywnych
w projektach AI. W przypadku Firebase Hosting,
firebase.json .
.
|
serwować | Uruchamia lokalny serwer WWW z konfiguracją Firebase Hosting.
W przypadku Firebase Hosting,
firebase.json .
. |
Polecenia App Distribution
Polecenie | Opis |
---|---|
appdistribution:distribution \ --app FIREBASE_APP_ID |
Udostępnia kompilację testerom. |
appdistribution:testers:add | Dodaje testerów do projektu. |
appdistribution:testers:remove | Usuwa testerów z projektu. |
Polecenia App Hosting
Polecenie | Opis |
---|---|
apphosting:backends:create \ ; --projekt PROJECT_ID --lokalizacja REGION --aplikacja APP_ID |
Tworzy zbiór zarządzanych zasobów połączonych z pojedynczą bazą kodu które obejmuje backend App Hosting. Opcjonalnie podaj istniejący aplikacji internetowej Firebase według jej identyfikatora aplikacji Firebase. |
apphosting:backends:get \
BACKEND_ID --projekt PROJECT_ID --lokalizacja REGION |
Pobiera określone szczegóły, w tym publiczny adres URL backendu. |
apphosting:backends:list \ --projekt PROJECT_ID |
Pobiera listę wszystkich aktywnych backendów powiązanych z projektem. |
firebase apphosting:backends:delete \
BACKEND_ID --projekt PROJECT_ID --lokalizacja REGION |
Usuwa backend z projektu. |
apphosting:secrets:set \ KEY --projekt PROJECT_ID --lokalizacja REGION --data-file Data file |
Przechowuje materiały tajny w usłudze Secret Manager. Opcjonalnie podaj
ścieżka pliku, z której mają być odczytywane dane obiektu tajnego. Ustaw jako _ , aby czytać
danych tajnych ze standardowych danych wejściowych.
|
apphosting:secrets:grantaccess \ KEY --projekt PROJECT_ID BACKEND_ID --lokalizacja REGION |
Przyznaje backend konto usługi dostępu do podanego obiektu tajnego, tak aby mógł uzyskać do niego dostęp App Hosting w czasie kompilacji lub działania. |
apphosting:secrets:describe \ KEY --projekt PROJECT_ID |
Pobiera metadane obiektu tajnego i jego wersje. |
firebase apphosting:secrets:access \ KEY[@version] --projekt PROJECT_ID |
Uzyskuje dostęp do wartości obiektu tajnego z podaną jego wersją i jego wersją. Domyślnie używana jest najnowsza wersja. |
Polecenia Authentication (zarządzanie użytkownikami)
Polecenie | Opis |
---|---|
auth:export | Eksportuje konta użytkowników aktywnego projektu do pliku JSON lub CSV. Dla: Więcej informacji znajdziesz tutaj: auth:import oraz auth:export . |
auth:import | Importuje konta użytkowników z pliku JSON lub CSV do aktywnego w projektach AI. Aby dowiedzieć się więcej, zapoznaj się z auth:import oraz auth:export . |
Polecenia Cloud Firestore
Polecenie | Opis |
---|---|
firestore:lokalizacje |
Wyświetl listę dostępnych lokalizacji dla bazy danych Cloud Firestore. |
firestore:databases:create DATABASE_ID |
Utwórz w projekcie Firebase instancję bazy danych w trybie natywnym. Polecenie ma następujące flagi:
|
firestore:databases:list |
Wyświetlenie listy baz danych w projekcie Firebase. |
firestore:databases:get DATABASE_ID |
Pobierz konfigurację określonej bazy danych w projekt Firebase. |
firestore:databases:update DATABASE_ID |
Zaktualizuj konfigurację określonej bazy danych w projekt Firebase. Wymagana jest co najmniej 1 flaga. Polecenie ma następujące flagi:
|
firestore:databases:delete DATABASE_ID |
usunąć bazę danych z projektu Firebase, |
firestore:indexes |
Wyświetlać indeksy dla bazy danych w projekcie Firebase. Polecenie ma następującą flagę:
|
firestore:delete |
Usuwa dokumenty z bazy danych aktywnego projektu. Za pomocą interfejsu wiersza poleceń możesz cyklicznie usuwać wszystkie dokumenty w kolekcji. Pamiętaj, że usunięcie danych Cloud Firestore za pomocą interfejsu wiersza poleceń wiąże się z odczytem i usunąć koszty. Więcej informacji: Dowiedz się więcej o płatnościach w Cloud Firestore Polecenie ma następującą flagę:
|
Polecenia Cloud Functions for Firebase
Polecenie | Opis |
---|---|
functions:config:clone | Kopiuje środowisko innego projektu do aktywnej Firebase w projektach AI. |
functions:config:get | Pobiera istniejące wartości konfiguracji aktywnych projektów Cloud Functions |
functions:config:set | Zapisuje wartości konfiguracji środowiska wykonawczego aktywnych projektów Cloud Functions |
functions:config:unset | Usuwa wartości z konfiguracji środowiska wykonawczego aktywnego projektu. |
functions:log | Odczytuje logi z wdrożonego Cloud Functions. |
Więcej informacji zawiera artykuł na temat środowiska dokumentacji konfiguracji.
Polecenia Crashlytics
Polecenie | Opis |
---|---|
crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Generuje unikalny identyfikator pliku mapowania w określonym zasobie Androida (XML). |
crashlytics:mappingfile:przesyłanie\ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
Przesyła plik mapowania zgodny z ProGuard (TXT) dla tej aplikacji i wiąże go z identyfikatorem pliku mapowania zadeklarowanym w określonym pliku zasobów Androida (XML). |
crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Generuje plik symboli zgodny z Crashlytics dla biblioteki natywnej na urządzeniach z Androidem i przesyła go na serwery Firebase. |
Polecenia Extensions
Polecenie | Opis |
---|---|
wewn. | Wyświetla informacje o używaniu poleceń Firebase Extensions. Wyświetla listę instancji rozszerzeń zainstalowanych w aktywnym projekcie. |
ext:configure \ EXTENSION_INSTANCE_ID |
Ponownie konfiguruje wartości parametrów instancji rozszerzenia w sekcji pliku manifestu rozszerzenia. |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
Drukuje szczegółowe informacje o rozszerzeniu. |
ext:instalacja \ PUBLISHER_ID/EXTENSION_ID |
Dodaje nowe wystąpienie rozszerzenia do tagu pliku manifestu rozszerzenia. |
ext:list | Wyświetla listę wszystkich instancji rozszerzeń zainstalowanych w projekcie Firebase. Wyświetla identyfikator instancji każdego rozszerzenia. |
ext:odinstaluj \ EXTENSION_INSTANCE_ID |
Usuwa wystąpienie rozszerzenia z pliku manifestu rozszerzenia. |
ext:update \ EXTENSION_INSTANCE_ID |
Aktualizuje instancję rozszerzenia do najnowszej wersji w pliku manifestu rozszerzenia. |
ext:export | Eksportuje wszystkie zainstalowane instancje rozszerzeń z projektu do pliku manifestu rozszerzenia. |
Polecenia wydawcy Extensions
Polecenie | Opis |
---|---|
ext:dev:init | Inicjuje szkieletową bazę kodu dla nowego rozszerzenia w bieżącym katalogu. |
ext:dev:list \ PUBLISHER_ID |
Drukuje listę wszystkich rozszerzeń przesłanych przez wydawcę. |
ext:dev:register | Rejestruje projekt Firebase jako projekt wydawcy rozszerzeń. |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Wycofane
wersji rozszerzenia pasującej do predykatu wersji. Predykat wersji może być pojedynczą wersją (np. 1.0.0 ),
lub zakres wersji (np. >1.0.0 ).Jeśli nie podano predykatu wersji, wycofa wszystkie wersje tego rozszerzenia. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Wycofane
wersji rozszerzenia pasującej do predykatu wersji. Predykat wersji może być pojedynczą wersją (np. 1.0.0 ),
lub zakres wersji (np. >1.0.0 ).Jeśli nie podano predykatu wersji, wycofa wszystkie wersje danego rozszerzenia. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
Przesyła nową wersję rozszerzenia. |
ext:dev:użycie \ PUBLISHER_ID |
Wyświetla liczbę instalacji i dane wykorzystania dla rozszerzeń przesłanych przez wydawcy. |
Polecenia Hosting
Polecenie | Opis |
---|---|
hosting:disable, |
Przestaje obsługiwać Firebase Hosting ruchu na potrzeby aktywnej Firebase w projektach AI. Adres URL projektu w projekcie Hosting będzie wyświetlać komunikat „Nie znaleziono witryny”. wiadomość po uruchomieniu tego polecenia. |
Zarządzanie Hosting witrynami | |
firebase hosting:sites:create \ SITE_ID |
Tworzy nową witrynę Hosting w aktywnym projekcie Firebase za pomocą metody
określono (Opcjonalnie) Podaj istniejącą aplikację internetową Firebase do powiązania
nową witrynę, przekazując tę flagę:
|
firebase hosting:sites:delete \ SITE_ID |
Usuwa określoną witrynę Hosting Przed usunięciem witryny w interfejsie wiersza poleceń wyświetli się prośba o potwierdzenie. (Opcjonalnie) Pomiń prośbę o potwierdzenie, przekazując wartość
te flagi: |
firebase hosting:sites:get \ SITE_ID |
Pobiera informacje o określonej witrynie Hosting |
firebase hosting:sites:list |
Wyświetla listę wszystkich Hosting witryn w aktywnym projekcie Firebase |
Zarządzanie kanałami podglądu | |
firebase Hosting:channel:create \ CHANNEL_ID |
Tworzy nowy kanał podglądu w
default witryny Hosting korzystającej z określonego
To polecenie nie jest wdrażane na kanale. |
firebase Hosting:channel:usuń \ CHANNEL_ID |
Usuwa określony kanał podglądu Nie możesz usunąć aktywnego kanału witryny. |
firebase hosting:channel:deploy \ CHANNEL_ID |
Wdraża zawartość i konfigurację Hosting w podanym kanał wersji testowej Jeśli kanał podglądu jeszcze nie istnieje, to polecenie tworzy kanał w domyślnej witrynie Hosting . |
firebase hosting:channel:list | Wyświetla listę wszystkich kanałów (w tym kanał „aktywny”) w domyślna witryna Hosting |
firebase hosting:channel:open \ CHANNEL_ID |
Otwiera w przeglądarce adres URL określonego kanału lub zwraca URL jeśli nie można otworzyć go w przeglądarce |
Klonowanie wersji | |
firebase hosting:klon \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Kopiuje ostatnio wdrożoną wersję z określonego „źródła” kanału do określonego „docelowego” kanał To polecenie jest też wdrażane w podanym „miejscu docelowym” kanał. Jeśli „target” kanał jeszcze nie istnieje, to polecenie tworzy nowy podglądu kanału w polu „docelowy” Hosting witryna przed wdrożeniem w kanału. |
firebase hosting:klon \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Kopiuje określoną wersję do określonego „celu” kanał To polecenie jest też wdrażane w podanym „miejscu docelowym” kanał. Jeśli „target” kanał jeszcze nie istnieje, to polecenie tworzy nowy podglądu kanału w polu „docelowy” Hosting witryna przed wdrożeniem w kanału.
|
Polecenia Realtime Database
Pamiętaj, że możesz utworzyć początkową, domyślną instancję Realtime Database w
Firebase lub za pomocą ogólnego pola firebase init
na wybrany proces,
Proces firebase init database
.
Po utworzeniu instancji możesz nimi zarządzać zgodnie z opisem w artykule Zarządzaj wieloma instancjami Realtime Database.
Polecenie | Opis |
---|---|
database:get (baza_danych:get) | Pobiera dane z bazy danych aktywnego projektu i wyświetla je jako JSON. Obsługa zapytań dotyczących zindeksowanych danych. |
database:instances:create | Tworzy instancję bazy danych o podanej nazwie instancji. Akceptuje
opcję --location do tworzenia bazy danych w określonym
i regionie. Nazwy regionów do użycia z tą opcją znajdziesz w sekcji
wybierz lokalizacje dla swojego projektu.
Jeśli w bieżącym projekcie nie ma żadnej instancji bazy danych, pojawi się odpowiedni komunikat.
aby uruchomić przepływ firebase init i utworzyć instancję.
|
database:instances:list | Wyświetl wszystkie instancje baz danych w tym projekcie. Akceptuje
Opcja --location wyświetlająca listę baz danych w określonym regionie
i regionie. Nazwy regionów do używania z tą opcją znajdziesz w sekcji
wybierz lokalizacje dla swojego projektu. |
database:profile | Tworzy profil operacji w bazie danych aktywnego projektu. Dla: Więcej informacji znajdziesz tutaj: typy operacji: Realtime Database. |
database:push | Przekazuje nowe dane do listy w określonej lokalizacji w aktywnej w bazie danych projektu. pobiera dane z pliku, STDIN lub wiersza poleceń . |
database:remove | Usuwa wszystkie dane z określonej lokalizacji w aktywnym projekcie w bazie danych. |
database:set | Zastępuje wszystkie dane z określonej lokalizacji w aktywnym projekcie w bazie danych. Pobiera dane wejściowe z pliku, STDIN lub argumentu wiersza poleceń. |
database:update | Wykonuje częściową aktualizację w określonej lokalizacji w aktywnej w bazie danych projektu. pobiera dane z pliku, STDIN lub wiersza poleceń . |
Polecenia Remote Config
Polecenie | Opis |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
Zawiera listę 10 ostatnich wersji szablonu. Określ
0 , aby zwrócić wszystkie istniejące wersje, lub opcjonalnie
przekazać opcję --limit , aby ograniczyć liczbę
zwracane są różne wersje. |
remoteconfig:get \ --v, numer_wersji VERSION_NUMBER --o, wyjście FILENAME |
Pobiera szablon według wersji (domyślnie jest używana najnowsza wersja)
i zwraca grupy parametrów, parametry i nazwy warunków oraz
do tabeli. Opcjonalnie możesz zapisać dane wyjściowe w
określonego pliku w funkcji -o, FILENAME . |
remoteconfig:rollback \ --v, numer_wersji VERSION_NUMBER siła |
Przywraca określoną poprzednią wersję szablonu Remote Config
numer lub domyślnie przywraca natychmiastową poprzednią wersję (bieżąca wersja -1). Jeśli --force nie zostanie przekroczony, prompty T/N
przed przejściem do przywracania. |