Dokumentacja interfejsu wiersza poleceń Firebase

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 macOS Linux

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:

  1. Pobierz Plik binarny interfejsu wiersza poleceń Firebase dla Windows.

  2. Uzyskaj dostęp do pliku binarnego, aby otworzyć powłokę, w której można uruchomić aplikację firebase .

  3. 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:

  1. Zainstaluj Node.js za pomocą nvm-windows (Menedżer wersji węzłów). Automatycznie instaluję Node.js z narzędzi poleceń npm.

  2. 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.

  3. 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:

  1. 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.

  2. 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:

  1. Pobierz plik binarny interfejsu wiersza poleceń Firebase dla swojego systemu operacyjnego: macOS | Linux

  2. (Opcjonalnie) Skonfiguruj dostępne globalnie polecenie firebase.

    1. Ustaw plik binarny jako wykonywalny, uruchamiając chmod +x ./firebase_tools.
    2. Dodaj ścieżkę pliku binarnego do ŚCIEŻKA.
    .
  3. 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:

  1. Zainstaluj Node.js za pomocą nvm (menedżera wersji węzłów).
    Instalacja Node.js automatycznie się zainstaluje z narzędzi poleceń npm.

  2. 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.

  3. 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.

  1. 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.

  2. 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

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.

  1. Na komputerze z przeglądarką zainstaluj interfejs wiersza poleceń Firebase.

  2. Rozpocznij proces logowania, uruchamiając następujące polecenie:

    firebase login:ci
  3. Otwórz podany adres URL, a następnie zaloguj się za pomocą konta Google.

  4. Wydrukuj nowy dokument token odświeżania. Nie będzie to miało wpływu na bieżącą sesję interfejsu wiersza poleceń.

  5. Przechowuj token wyjściowy w bezpieczny, ale dostępny sposób w systemie CI.

  6. 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 \
PROJECT_ID|ALIAS
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 PROJECT_ID|ALIAS, aby ustawić nowy aktywny projekt przed uruchomieniem innych poleceń interfejsu wiersza poleceń.

firebase use \
--unalias PROJECT_ALIAS
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 firebase deploy --project=prod

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:

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 przez firebase 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 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ż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 plik firebase.json.
  • $RESOURCE_DIR: (tylko w przypadku skryptów hosting i functions) 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. Te polecenia obsługują flagę --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 flaga.
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:

  • --location <nazwa regionu>, aby określić lokalizację wdrożenia dla bazy danych. Pamiętaj, że firebase Firestore:locations, aby wyświetlić dostępne lokalizacji. Wymagany.
  • --delete-protection <deleteProtectionState> aby umożliwić lub uniemożliwić usunięcie określonej bazy danych. Prawidłowe wartości to ENABLED lub DISABLED. Domyślna wartość to DISABLED
  • --point-in-time-recovery <PITRState> na określ, czy odzyskiwanie do określonego momentu jest włączone. Prawidłowe wartości to ENABLED lub DISABLED. Domyślna wartość to DISABLED Opcjonalnie.
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:

  • --delete-protection <deleteProtectionState> aby umożliwić lub uniemożliwić usunięcie określonej bazy danych. Prawidłowe wartości to ENABLED lub DISABLED. Domyślna wartość to DISABLED
  • --point-in-time-recovery <PITRState> na określ, czy odzyskiwanie do określonego momentu jest włączone. Prawidłowe wartości to ENABLED lub DISABLED. Domyślna wartość to DISABLED Opcjonalnie.
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ę:

  • --database DATABASE_ID do określ nazwę bazy danych, dla której ma zostać wyświetlona lista indeksów. Jeśli nie, zostaną podane indeksy domyślnej bazy danych.
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ę:

  • --database DATABASE_ID w celu określenia nazwy bazy danych, z której mają być usuwane dokumenty. Jeśli nie określono, dokumenty zostały usunięte z domyślnej bazy danych. Opcjonalnie.

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 SITE_ID

(Opcjonalnie) Podaj istniejącą aplikację internetową Firebase do powiązania nową witrynę, przekazując tę flagę: --app FIREBASE_APP_ID.

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: -f lub --force

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 CHANNEL_ID

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.

VERSION_ID znajdziesz w Panel Hosting konsoli Firebase.

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.