Plik manifestu rozszerzeń to lista instancji rozszerzeń wraz z ich listą. konfiguracji. Za pomocą pliku manifestu możesz:
- Udostępnianie konfiguracji rozszerzeń innym osobom
- Kopiuj konfigurację rozszerzeń między różnymi projektami (na przykład z projektu przejściowego do projektu produkcyjnego).
- Wdrażanie wszystkich rozszerzeń jednocześnie
- Przetestuj, jak rozszerzenia współdziałają z aplikacją za pomocą: Firebase Local Emulator Suite
- Przekazywanie konfiguracji rozszerzeń do kontroli źródła
- Uwzględnij rozszerzenia w potoku CI/CD
Plik manifestu rozszerzeń składa się z 2 części:
Sekcja
extensions
obiektufirebase.json
, który jest mapą instancji Identyfikator z odniesieniem do wersji rozszerzenia. Przykład:{ "extensions": { "my-bigquery-extension": "firebase/firestore-bigquery-export@^0.1.18", "my-image-resizer": "firebase/storage-resize-images@^0.1.22", } }
.env
plików zawierających konfigurację poszczególnych rozszerzeń wystąpieniach w podkataloguextensions/
projektu Firebase. katalogu. Na przykładstorage-resize-images
może mieć.env
podobny do tego:IMAGE_TYPE=jpeg LOCATION=us-central1 IMG_BUCKET=${param:PROJECT_ID}.appspot.com IMG_SIZES=100x100 DELETE_ORIGINAL_FILE=false
Utwórz plik manifestu rozszerzeń
Plik manifestu rozszerzeń możesz utworzyć na 3 sposoby:
- Zarządzanie plikiem manifestu rozszerzeń za pomocą interfejsu wiersza poleceń Firebase
- Eksportowanie konfiguracji rozszerzeń projektu
- Ręczne edytowanie plików manifestu
Pierwsze dwie metody przedstawiamy poniżej.
Zarządzanie plikiem manifestu rozszerzeń za pomocą interfejsu wiersza poleceń Firebase
Większość poleceń ext:
interfejsu wiersza poleceń Firebase można uruchamiać za pomocą opcji --local
, aby zaktualizować plik manifestu rozszerzeń bez zmiany
bieżącej konfiguracji.
Przykład:
firebase ext:install --local firebase/firestore-bigquery-export
Uruchomienie powyższego polecenia spowoduje skonfigurowanie najnowszej wersji
firebase/firestore-bigquery-export
rozszerzenie i zapisz konfigurację w
pliku manifestu, ale nie wdroży on konfiguracji w projekcie.
Oto kilka dodatkowych przykładów poleceń, które modyfikują plik manifestu rozszerzeń:
# ext:configure changes the params for an extension instance in your extensions manifest
$ firebase ext:configure my-bigquery-extension --local
# ext:update --local updates an instance in your extensions manifest
# to the latest version of that extension
$ firebase ext:update my-bigquery-extension --local
# You can also specify a version if you don't want to update to the latest version
$ firebase ext:update my-bigquery-extension firebase/firestore-bigquery-export@0.1.10 --local
# ext:uninstall --local removes an instance from your extensions manifest
$ firebase ext:uninstall my-bigquery-extension --local
Eksportowanie konfiguracji rozszerzeń projektu
Aby zapisać w pliku manifestu bieżącą konfigurację rozszerzeń projektu, wykonaj :
- Skonfiguruj interfejs wiersza poleceń Firebase, jeśli jeszcze go nie masz.
- Z poziomu promptu powłoki przejdź do katalogu projektu. (Twój projekt
w katalogu jest plik
firebase.json
). - Uruchom polecenie
ext:export
:firebase ext:export
Polecenie ext:export
spowoduje dodanie sekcji extensions
do pliku firebase.json
. Dodatkowo polecenie ext:export
tworzy katalog extensions
zawierający plik .env
dla każdej zainstalowanej instancji rozszerzenia. Te
zawierają parametry konfiguracji każdej instancji.
Testowanie konfiguracji rozszerzeń za pomocą interfejsu Firebase Local Emulator Suite
Po dodaniu instancji rozszerzeń do pliku manifestu możesz mieć możliwość przetestuj je za pomocą narzędzia Local Emulator Suite.
-
- Aby interaktywnie uruchomić Pakiet emulatorów, uruchom polecenie:
firebase emulators:start
- Aby uruchomić Pakiet emulatorów i wykonać skrypt testowy, uruchom polecenie:
firebase emulators:exec my-test.sh
- Aby interaktywnie uruchomić Pakiet emulatorów, uruchom polecenie:
Jeśli w pliku manifestu masz podane instancje rozszerzeń,
Local Emulator Suite pobierze kod źródłowy tych rozszerzeń do
~/.cache/firebase/extensions
Po ich pobraniu
Local Emulator Suite uruchomi się i będzie można aktywować
funkcji wywoływanych w tle i połącz aplikację z emulatorem
aby przetestować integrację z aplikacją.
Wdrażanie konfiguracji rozszerzeń w projekcie
Po dodaniu instancji rozszerzeń do pliku manifestu rozszerzenia możesz: wdrożyć je w projekcie za pomocą interfejsu wiersza poleceń Firebase. Podczas wdrażania za pomocą pliku manifestu, instalujesz, aktualizujesz i konfigurujesz wszystkie rozszerzenia z pliku manifestu do projektu.
Aby wdrożyć plik manifestu rozszerzeń:
- Z poziomu promptu powłoki przejdź do katalogu zawierającego zapisane
konfigurację rozszerzeń. (Jest to katalog, który zawiera
firebase.json
Jeśli właśnie biegałeśext:export
, jesteś już we właściwym miejscu ). - Uruchom polecenie
deploy
. Jeśli chcesz wdrożyć rozszerzenia w projekcie innego niż bieżący, określ też--project=
:firebase deploy --only extensions –-project=YOUR_PROJECT_ID
Polecenie deploy
sprawdzi każdą konfigurację instancji i zapyta, czy
usuń z projektu docelowego wszystkie instancje rozszerzeń, które nie są
w tabeli firebase.json
, a następnie wdróż wszystkie instancje rozszerzeń.
Konfiguracje rozszerzeń związane z projektem
Zapisanych konfiguracji rozszerzeń można używać do wdrażania w wielu różnych
projektów: na przykład projektu testowego i produkcyjnego. Podczas wykonywania
dlatego niektóre wartości parametrów mogą być różne w każdym projekcie.
Dzięki plikom .env
dotyczącym konkretnego projektu jest to możliwe:
- Umieść w
extensions/EXTENSION_INSTANCE_ID.env.YOUR_PROJECT_ID
wartości parametrów, które różnią się między projektami - Umieść wartości udostępnianych parametrów w polu
extensions/EXTENSION_INSTANCE_ID.env
.
Czasami przy emulowaniu parametru
rozszerzeń: można na przykład podać testowy klucz interfejsu API zamiast
produkcji. Umieść te parametry w pliku .local
:
- Umieść parametry niebędące obiektami tajnymi, których chcesz używać podczas emulacji, w:
extensions/EXTENSION_INSTANCE_ID.env.local
- Umieść wartości parametrów obiektu tajnego w
extensions/EXTENSION_INSTANCE_ID.secret.local