Wiersz poleceń Firebase (GitHub) udostępnia różne narzędzia do zarządzania, wyświetlania i wdrażania projektów Firebase.
Przed użyciem interfejsu wiersza poleceń Firebase skonfigurować projekt Firebase.
Konfigurowanie lub aktualizowanie interfejsu wiersza poleceń
Zainstaluj interfejs wiersza poleceń Firebase
Interfejs wiersza poleceń Firebase możesz zainstalować, stosując metodę odpowiednią do Twojego systemu operacyjnego, poziomu 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
Interfejs wiersza poleceń Firebase dla systemu Windows można zainstalować, korzystając z jednej z tych opcji:
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 Dla deweloperów, którzy nie korzystają z Node.js lub są z nim niezbyt zaznajmieni |
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 korzystający z Node.js |
samodzielny plik binarny
Aby pobrać i uruchomić plik binarny interfejsu wiersza poleceń Firebase, wykonaj te czynności:
Pobierz binarny interfejs wiersza poleceń Firebase na potrzeby systemu Windows.
Uzyskaj dostęp do pliku binarnego, aby otworzyć powłokę, w której możesz uruchomić polecenie
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). Instalacja Node.js automatycznie instaluje narzędzia wiersza poleceń
npm
.Zainstaluj interfejs wiersza poleceń Firebase za pomocą interfejsu
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
Aby zainstalować interfejs wiersza poleceń Firebase na komputerze z systemem macOS lub Linux, możesz użyć jednej z tych opcji:
Opcja | Opis | Zalecane dla... |
---|---|---|
skrypt automatycznej instalacji | Uruchom jedno polecenie, które automatycznie wykryje Twój system operacyjny, pobierzesz najnowszą wersję interfejsu wiersza poleceń, a następnie włączy polecenie firebase dostępne globalnie.
|
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 korzystający z Node.js |
skrypt automatycznej instalacji
Aby zainstalować interfejs wiersza poleceń Firebase za pomocą skryptu automatycznej instalacji, wykonaj te czynności:
Uruchom to polecenie cURL:
curl -sL https://firebase.tools | bash
Ten skrypt automatycznie wykrywa system operacyjny, pobiera najnowszą wersję interfejsu wiersza poleceń Firebase, a następnie włącza dostępne globalnie polecenie
firebase
.Przejdź dalej, aby zalogować się i przetestować interfejs wiersza poleceń.
Więcej przykładów i szczegółów skryptu instalacji automatycznej 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
Kontynuuj logowanie się i testowanie interfejsu wiersza poleceń CLI.
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ą interfejsu
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ń.
Logowanie się i testowanie interfejsu wiersza poleceń Firebase
Po zainstalowaniu interfejsu wiersza poleceń musisz się uwierzytelnić. Następnie możesz potwierdzić uwierzytelnianie, podając listę projektów Firebase.
Zaloguj się w Firebase za pomocą konta Google, uruchamiając to polecenie:
firebase login
To polecenie połączy Twój komputer lokalny z Firebase i przyzna Ci dostęp do projektów Firebase.
Sprawdź, czy wiersz poleceń jest prawidłowo zainstalowany i czy ma dostęp do Twojego konta, wyświetlając listę projektów Firebase. Uruchom to polecenie:
firebase projects:list
Wyświetlona lista powinna być taka sama jak projektów Firebase wymienionych w konsolę Firebase.
Aktualizowanie do najnowszej wersji interfejsu wiersza poleceń
Zazwyczaj warto korzystać z najnowszej wersji interfejsu wiersza poleceń Firebase.
Sposób aktualizacji wersji interfejsu wiersza poleceń zależy od systemu operacyjnego i sposobu zainstalowania interfejsu wiersza poleceń.
Windows
- samodzielny plik binarny: pobierz nową wersję i zastąp ją w systemie.
- npm: uruchom
npm install -g firebase-tools
macOS
- automatyczny skrypt instalacji: uruchom
curl -sL https://firebase.tools | upgrade=true bash
- samodzielny plik binarny: pobierz nową wersję i zastąp nią dotychczasową wersję w 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
Korzystanie z interfejsu wiersza poleceń w systemach CI
Narzędzie wiersza poleceń Firebase wymaga przeglądarki do uwierzytelnienia, ale jest w pełni zgodne z CI i innymi środowiskami bez głowy.
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 i zaloguj się na konto 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 podczas wykonywania 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 flagą--token TOKEN
w systemie CI.
Oto kolejność wczytywania tokenów: flaga, środowisko wybranego projektu Firebase.
Inicjowanie projektu Firebase
Wiele typowych zadań wykonywanych za pomocą wiersza poleceń, takich jak wdrażanie w projekcie Firebase, wymaga katalogu projektu. Utwórz 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 prosi 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 w dokumentacji konkretnego produktu (np. Hosting). Pamiętaj, że zawsze możesz uruchomić polecenie
firebase init
, 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ązać wiele projektów Firebase (np. projekt testowy i produkcyjny) z tą samą katalogiem projektu.
Pod koniec inicjalizacji Firebase automatycznie tworzy w katalogu głównym lokalnej aplikacji te 2 pliki:
Plik konfiguracji
firebase.json
, który zawiera konfigurację projektu.Plik
.firebaserc
, w którym są przechowywane aliasy projektu.
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 mogą być zdefiniowane w katalogu projektu lub konsoli Firebase, upewnij się, że rozwiązujesz wszelkie potencjalne konflikty wdrożenia.
Możesz skonfigurować większość opcji usługi Firebase Hosting
bezpośrednio w pliku firebase.json
. W przypadku innych usług Firebase, które można wdrożyć za pomocą interfejsu wiersza poleceń Firebase, polecenie firebase init
tworzy określone pliki, w których możesz zdefiniować ustawienia tych usług, np. plik index.js
dla usługi Cloud Functions. W pliku firebase.json
możesz też skonfigurować haczyki przed wdrożeniem lub po wdrożeniu.
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"
]
}
}
Domyślnie używany jest plik firebase.json
, ale możesz podać flagę --config PATH
, aby określić inny plik konfiguracji.
Konfiguracja 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 powyżej.
Jeśli Twój projekt zawiera wiele baz danych Cloud Firestore, zmodyfikuj plik firebase.json
, aby powiązać z każdą z nich różne pliki źródłowe indeksu Cloud Firestore Security Rules i bazy danych. Zmodyfikuj plik za pomocą tablicy JSON z pojedynczym 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"
}
],
Cloud Functions plików, które mają być ignorowane podczas wdrażania
Podczas wdrażania funkcji interfejs wiersza poleceń automatycznie określa listę plików w katalogu functions
, które należy zignorować. Zapobiega to wdrażaniu na zapleczu niepotrzebnych plików, które mogłyby zwiększyć rozmiar 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 elementu ignore
w elementach firebase.json
, pamiętaj, aby zachować (lub dodać, jeśli brakuje) listę plików pokazaną powyżej.
Zarządzanie aliasami projektu
Z tym samym katalogiem projektów możesz powiązać wiele projektów Firebase.
Możesz na przykład używać jednego projektu Firebase do testów, a drugiego do wersji produkcyjnej. Korzystając z różnych środowisk projektów, możesz weryfikować zmiany przed wdrożeniem ich w produkcji. Polecenie firebase use
umożliwia przełączanie się między aliasami oraz tworzenie nowych aliasów.
Dodaj alias projektu
Gdy wybierzesz projekt Firebase podczas inicjalizacji projektu, zostanie mu automatycznie przypisany alias default
. Aby jednak zezwalać na uruchamianie poleceń dotyczących konkretnego projektu w ramach innego projektu Firebase, ale nadal używać tego samego katalogu projektu, uruchom to polecenie w katalogu projektu:
firebase use --add
To polecenie spowoduje wyświetlenie prompta z prośbą o wybranie innego projektu Firebase i przypisanie mu aliasu. 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 „aktywnego projektu”. |
firebase use --clear |
Usuwa aktywny projekt.
Uruchom |
firebase use \ |
Usuwa alias z katalogu projektu. |
Możesz zmienić projekt używany jako aktywny, podając flagę --project
w dowolnym poleceniu wiersza poleceń. Na przykład możesz skonfigurować interfejs wiersza poleceń tak, aby działał w projektie Firebase, do którego przypisałeś alias staging
. Jeśli chcesz wykonać pojedyncze polecenie w projekcie Firebase, do którego przypisałeś alias prod
, możesz użyć np. polecenia
.
Kontrola wersji i aliasy projektów
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 lub szablonów startowych nie należy zazwyczaj 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 przetestować tylko wybrane funkcje, możesz użyć listy oddzielonych przecinkami w flagach w komendzie firebase serve
.
Jeśli chcesz wykonać jedną z tych czynności, uruchom to polecenie w głównym katalogu projektu lokalnego:
- Wyświetlanie treści statycznych aplikacji hostowanej w Firebase.
- Używasz Cloud Functions do generowania dynamicznych treści dla Firebase Hosting i chcesz użyć funkcji HTTP w wersji produkcyjnej (wdrożonej), aby emulować Hosting w lokalnym adresie URL.
firebase serve --only hosting
Emulowanie projektu 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 adresów URL lokalnych, użyj jednego z 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 na innych urządzeniach 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
Wdrażanie w projekcie Firebase
Interfejs wiersza poleceń Firebase zarządza wdrażaniem kodu i zasobów w Firebase projektu, w tym:
- nowe wersje witryn Firebase Hosting,
- Nowe, zaktualizowane lub istniejące Cloud Functions for Firebase
- Nowe lub zaktualizowane schematy i oprogramowanie sprzęgające dla: Firebase Data Connect
- Reguły dotyczące domeny Firebase Realtime Database
- Reguły dotyczące domeny Cloud Storage for Firebase
- Reguły dotyczące Cloud Firestore
- Indeksy dla zadania Cloud Firestore
Aby wdrożyć projekt w Firebase, uruchom to polecenie w katalogu projektu:
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 uwagach:
Aby wdrożyć zasoby z katalogu projektu, katalog ten musi zawierać plik
firebase.json
. Ten plik jest utworzony automatycznie przezfirebase init
.Domyślnie
firebase deploy
tworzy wersję wszystkich zasobów do wdrożenia 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 Firebase konsola.
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żeń
Możliwe (choć mało prawdopodobne), że przekroczysz limit, który ogranicza szybkość lub liczbę operacji wdrażania Firebase. Na przykład podczas wdrażania bardzo dużej liczby funkcji możesz otrzymać komunikat o błędzie HTTP 429 Quota
. Aby rozwiązać takie problemy, spróbuj wykorzystać częściowe wdrożenie.
Wycofywanie wdrożenia
Możesz cofnąć wdrożenie Firebase Hosting na stronie Firebase Hosting projektu, wybierając działanie Cofnij 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 konkretnych 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 dataconnect |
Firebase Data Connect schematy i złącza |
--only storage |
Cloud Storage for Firebase reguły |
--only firestore |
Cloud Firestorereguł i indeksów dla wszystkich skonfigurowanych baz danych |
--only functions |
Cloud Functions for Firebase (możliwe są bardziej szczegółowe wersje tego 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
. Funkcja grupowania umożliwia wdrażanie wielu funkcji za pomocą jednego polecenia.
Aby zdefiniować groupA
i groupB
, możesz na przykład użyć tych funkcji:
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 to polecenie w katalogu projektu:
firebase deploy --only functions:groupA
Możesz też ukierunkować funkcję na określony element w grupie, uruchamiając to polecenie:
firebase deploy --only functions:groupA.function1,groupB.function4
Usuwanie funkcji
Wiersz poleceń Firebase obsługuje te polecenia i opcje umożliwiające 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. Na przykład skrypt przed wdrożeniem może przetłumaczyć kod TypeScript na JavaScript, a element wywoływania po wdrożeniu może powiadomić administratorów o nowym wdrożeniu treści witryny do Firebase Hosting.
Aby skonfigurować uchwyty przed wdrożeniem lub po wdrożeniu, dodaj skrypty bash do pliku konfiguracyjnego firebase.json
. Scenariusze krótkich tekstów możesz definiować bezpośrednio w pliku firebase.json
lub odwoływać się do innych plików w katalogu projektu.
Na przykład ten skrypt to wyrażenie firebase.json
dla zadania wykonywanego po wdrożeniu, które wysyła wiadomość do Slacka po pomyślnym 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ć predeploy
i postdeploy
dla wszystkich zasobów, które możesz wdrożyć. Pamiętaj, że uruchomienie pliku firebase deploy
uruchamia wszystkie zadania przed wdrożeniem i po jego zakończeniu zdefiniowane w pliku firebase.json
. Aby uruchomić tylko zadania powiązane z konkretną usługą Firebase, użyj poleceń częściowego wdrożenia.
Zarówno predeploy
, jak i postdeploy
wyświetlają w terminalu standardowe dane wyjściowe i strumień błędów skryptów. W przypadku niepowodzenia:
- Jeśli nie uda się uruchomić przedwdrożeniowego haka 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 wchodzić w interakcje z niedomyślnym wystąpieniem bazy danych, używając flagi --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 w interfejsie wiersza poleceń
Polecenie | Opis |
---|---|
pomoc | Wyświetla informacje o CLI lub konkretnych poleceniach. |
init | Powiązanie i konfigurowanie nowego projektu Firebase w bieżącym katalogu.
To polecenie tworzy w bieżącym katalogu plik konfiguracji firebase.json . |
login | uwierzytelnia wiersz poleceń na 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 środowiskach nieinterakcyjnych. |
wyloguj się | Wylogowuje interfejs wiersza poleceń z konta Firebase. |
open | Otwiera przeglądarkę z odpowiednimi zasobami projektu. |
projects:list | Wyświetla listę wszystkich projektów Firebase, do których masz dostęp. |
use | Ustawia aktywny projekt Firebase na potrzeby interfejsu wiersza poleceń. Zarządza aliasami projektów. |
Polecenia zarządzania projektem
Polecenie | Opis | |
---|---|---|
Zarządzanie projektami Firebase | ||
projects:addfirebase | Dodaje zasoby Firebase do istniejącego projektu Google Cloud. | |
projekty:utwórz | Tworzy nowy projekt Google Cloud, a potem dodaje do niego zasoby Firebase. | |
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 aktywnej aplikacji. | |
apps:list | Wyświetla listę zarejestrowanych aplikacji Firebase w aktywnym projekcie. | |
apps:sdkconfig | Wypisuje konfigurację usług Google w aplikacji Firebase. | |
konfiguracja:internet | Wycofane. Zamiast tego użyj polecenia apps:sdkconfig i jako argument platformy podaj wartość web .Wypisuje 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 skrót SHA certyfikatu do określonej aplikacji 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 |
Wyświetla hasze kodów SHA certyfikatu określonej aplikacji Firebase na Androida. |
Wdrażanie i programowanie lokalne
Te polecenia pozwalają wdrożyć witrynę Firebase Hosting i korzystać z niej.
Polecenie | Opis |
---|---|
wdrażanie | Wdraża kod i zasoby z katalogu projektu do aktywnego projektu. W przypadku Firebase Hosting,
firebase.json
.
|
serve | Uruchamia lokalny serwer WWW z konfiguracją Firebase Hosting.
W przypadku Firebase Hosting wymagany jest plik konfiguracji firebase.json . |
Polecenia App Distribution
Polecenie | Opis |
---|---|
appdistribution:distribute \ --app FIREBASE_APP_ID |
udostępnia kompilację testerom. |
appdistribution:testers:dodaj | Dodaje testerów do projektu. |
appdistribution:testers:remove | Usuwa testerów z projektu. |
App Hosting poleceń
Polecenie | Opis |
---|---|
apphosting:backends:create \ --project PROJECT_ID \ --location REGION --app APP_ID |
Tworzy kolekcję zarządzanych zasobów powiązanych z jednym kodem źródłowym, która stanowi backend App Hosting. Opcjonalnie określ istniejącą aplikację internetową Firebase za pomocą jej identyfikatora. |
apphosting:backends:get \ BACKEND_ID --projekt PROJECT_ID \ --lokalizacja REGION |
Pobiera określone szczegóły, w tym publiczny adres URL, backendu. |
apphosting:backends:lista \ --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. |
firebase apphosting:rollouts:create \ BACKEND_ID --git_branch BRANCH_NAME \ --git_commit COMMIT_ID |
Tworzy wdrożenie ręcznie aktywowane. Opcjonalnie zdefiniuj ostatnie zatwierdzenie gałęzi lub określone zatwierdzenie. Jeśli nie ma żadnych opcji, wyświetla listę gałęzi do wyboru. |
apphosting:secrets:set
KEY
--projekt PROJECT_ID \ --lokalizacja REGION \ --data-file DATA_FILE_PATH |
Przechowuje materiały tajne w usłudze Secret Manager. Opcjonalnie podaj ścieżkę do pliku, z którego mają być odczytywane dane tajne. Ustaw na _ , aby odczytać dane tajne ze standardowego wejścia.
|
apphosting:secrets:grantaccess
KEY
BACKEND_ID \ --project PROJECT_ID \ --location REGION |
Przyznaj kontu usługi backendu dostęp do podanego obiektu tajnego, aby umożliwić dostęp do niego App Hosting w czasie kompilacji lub wykonywania. |
apphosting:secrets:describeKEY \ --project PROJECT_ID |
Pobiera metadane obiektu tajnego i jego wersje. |
firebase apphosting:secrets:access \ KEY[@version] \ --project PROJECT_ID |
Uzyskiwanie dostępu do wartości obiektu tajnego na podstawie obiektu tajnego i jego wersji. 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:locations |
Lista dostępnych lokalizacji bazy danych Cloud Firestore. |
firestore:databases:create DATABASE_ID |
Utwórz instancję bazy danych w trybie natywnym w projekcie Firebase. Polecenie ma następujące flagi:
|
firestore:databases:list |
Wyświetl listę 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. Wymagane jest podanie co najmniej 1 flagi. Polecenie ma następujące flagi:
|
firestore:databases:delete DATABASE_ID |
Usuń bazę danych w projekcie Firebase. |
firestore:indexes |
Wyświetla listę indeksów bazy danych w Twoim projekcie Firebase. Polecenie ma następującą flagę:
|
firestore:delete |
Usuwa dokumenty z bazy danych aktywnego projektu. Za pomocą interfejsu wiersza poleceń możesz usunąć 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 znajdziesz w artykule Omówienie rozliczeń Cloud Firestore. Polecenie ma następującą flagę:
|
Cloud Functions for Firebase poleceń
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 | przechowuje wartości konfiguracji czasu wykonywania dotyczące aktywnego projektu. Cloud Functions. |
functions:config:unset | Usuwa wartości z konfiguracji środowiska wykonawczego aktywnego projektu. |
functions:log | Czyta dzienniki 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:upload \ --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 |
Tworzy plik symboli zgodny z Crashlytics na potrzeby obsługi awarii biblioteki natywnych na Androidzie i przesyła go na serwery Firebase. |
Polecenia Data Connect
Te polecenia i ich zastosowania są opisane bardziej szczegółowo w Data Connectprzewodniku po interfejsie wiersza poleceń.
Polecenie | Opis |
---|---|
dataconnect:services:list | Wyświetla listę wszystkich Data Connect usług wdrożonych w Twoim projekcie Firebase. |
dataconnect:sql:diff \ SERVICE_ID |
W przypadku określonej usługi pokazuje różnice między usługą lokalną Schemat Data Connect i schemat bazy danych Cloud SQL. |
dataconnect:sql:migrate \ --force \ SERVICE_ID |
Przenosi schemat bazy danych Cloud SQL, aby pasował do lokalnego Schemat Data Connect. |
dataconnect:sql:grant\ --role=ROLE \ --email=EMAIL \ SERVICE_ID |
Przypisuje rolę SQL do adresu e-mail określonego użytkownika lub konta usługi.
W przypadku flagi --role rola SQL do przypisania to:
owner , writer lub reader .
W przypadku flagi --email podaj adres e-mail użytkownika lub konta usługi, któremu chcesz przypisać rolę.
|
dataconnect:sdk:generate | Generuje typowane pakiety SDK dla Twoich wtyczek Data Connect. |
Extensions poleceń
Polecenie | Opis |
---|---|
ext | 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 |
Wyświetla 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 wszystkie instancje rozszerzenia zainstalowane w projekcie Firebase. Wyświetla identyfikator instancji każdego rozszerzenia. |
ext:uninstall \ EXTENSION_INSTANCE_ID |
Usuwa instancję 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 rozszerzenia z Twojego projektu do pliku manifestu rozszerzenia. |
Extensions polecenia wydawcy
Polecenie | Opis |
---|---|
ext:dev:init | Inicjuje szkieletową bazę kodu dla nowego rozszerzenia w bieżącym katalogu. |
ext:dev:list \ PUBLISHER_ID |
Wyświetla 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. Atrybut version może być pojedynczą wersją (np. 1.0.0 )
lub zakresem wersji (np. >1.0.0 ).Jeśli nie podano atrybutu version, undeprecates all versions of that extension. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
Przesyła nową wersję rozszerzenia. |
ext:dev:usage \ PUBLISHER_ID |
Wyświetla liczbę instalacji i dane o korzystaniu z rozszerzeń przesłanych przez wydawcę. |
Polecenia Hosting
Polecenie | Opis |
---|---|
hosting:disable (hosting:disable) |
Przestaje kierować ruch Firebase Hosting do aktywnego projektu Firebase. Po wykonaniu tego polecenia URL Hosting projektu wyświetli komunikat „Strona nie znaleziona”. |
Zarządzanie Hosting witrynami | |
firebase hosting:sites:create \ SITE_ID |
Tworzy nową witrynę Hosting w aktywnym projekcie Firebase, używając określonego pliku (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 interfejs wiersza poleceń wyświetla prośbę o potwierdzenie. (Opcjonalnie) Pomiń prośbę o potwierdzenie, przekazując te flagi: |
firebase hosting:sites:get \ SITE_ID |
Pobiera informacje o wybranym Hosting |
firebase hosting:sites:list |
Wyświetla wszystkie witryny Hosting w aktywności projektu Firebase |
Zarządzanie kanałami podglądu | |
firebase Hosting:channel:create \ CHANNEL_ID |
Tworzy nowy kanał podglądu w domyślnej witrynie Hosting, używając określonego To polecenie nie jest wdrażane na kanale. |
firebase hosting:channel:delete \ CHANNEL_ID |
Usuwa określony kanał podglądu Nie możesz usunąć aktywnego kanału witryny. |
firebase hosting:channel:deploy \ CHANNEL_ID |
Wdraża Twoje treści i konfigurację Hosting na określony kanał podglądu. 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:clone \ 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 kanał „target” nie istnieje jeszcze, to polecenie utworzy nowy kanał podglądu w witrynie Hosting „target” przed wdrożeniem na tym kanale. |
firebase hosting:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Klonuje określoną wersję na określonym kanale „docelowym”. To polecenie jest też wdrażane w podanym „miejscu docelowym” kanał. Jeśli kanał „target” nie istnieje jeszcze, to polecenie utworzy nowy kanał podglądu w witrynie Hosting „target” przed wdrożeniem na tym kanale.
|
Polecenia Realtime Database
Pamiętaj, że możesz utworzyć początkową, domyślną instancję Realtime Database w konsoli Firebase lub za pomocą ogólnego firebase init
przepływu pracy lub konkretnego firebase init database
przepływu.
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 w formacie JSON. Obsługuje zapytania dotyczące 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 przypadku bieżącego projektu nie ma instancji bazy danych, pojawi się prośba o uruchomienie procesu firebase init , aby utworzyć instancję.
|
database:instances:list | Wyświetla listę wszystkich instancji baz danych w tym projekcie. Akceptuje
Opcja --location wyświetlająca listę baz danych w określonym regionie
i regionie. Nazwy regionów, których można używać z tą opcją, znajdziesz w sekcji wybieranie lokalizacji dla projektu. |
database:profile | Tworzy profil operacji w bazie danych aktywnego projektu. Więcej informacji znajdziesz w sekcji Realtime Database Typy operacji. |
database:push | Przesyła nowe dane na listę w określonym miejscu w bazie danych aktywnego 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 | Wykonywanie częściowej aktualizacji w określonym miejscu w bazie danych aktywnego projektu. Pobiera dane z pliku, standardowego wejścia lub argumentu wiersza poleceń. |
Remote Config poleceń
Polecenie | Opis |
---|---|
remoteconfig:versions:list \ --limit NUMBER_OF_VERSIONS |
Zawiera listę 10 ostatnich wersji szablonu. Określ wartość 0 , aby zwrócić wszystkie istniejące wersje, lub opcjonalnie opcję --limit , aby ograniczyć liczbę zwracanych wersji. |
remoteconfig:get \ --v, numer_wersji VERSION_NUMBER --o, wyjście FILENAME |
Pobiera szablon według wersji (domyślnie najnowszej)
oraz wyświetla w tabeli grupy parametrów, parametry, nazwy warunków i wersję. Opcjonalnie możesz zapisać dane wyjściowe w określonym pliku za pomocą parametru -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. |