Cele wdrożenia to krótkie nazwy (określane samodzielnie) dla: zasoby Firebase w Twoim projekcie Firebase, takie jak witryna Hosting z unikalnymi danymi zasoby statyczne lub grupa Realtime Database instancji o tym samym zabezpieczeniach reguł.
Cele wdrażania są przydatne, gdy masz wiele witryn Hosting, wiele zasobników Cloud Storage lub kilka Realtime Database instancji. Dzięki celom wdrożenia interfejs wiersza poleceń Firebase może wdrażać ustawienia w określonym Zasób lub grupa zasobów Firebase w projekcie, na przykład:
- Konfiguracja hostingu każdej z witryn Hosting
- Zasoby statyczne z katalogu projektu dla każdego komponentu Hosting witryny
- Reguły zabezpieczeń współużytkowane przez co najmniej Realtime Database instancję Liczba zasobników: Cloud Storage
Aby skonfigurować miejsce docelowe wdrożenia:
- Zastosuj
TARGET_NAME
do docelowej wersji Firebase zasób lub grupę zasobów Firebase. - W pliku
firebase.json
odwoływać się do powiązanego obiektuTARGET_NAME
podczas konfigurowania ustawień dla poszczególnych zasobów lub grup zasobów.
Po uruchomieniu polecenia interfejsu wiersza poleceń Firebase (takich jak
firebase deploy
), interfejs wiersza poleceń Firebase paruje każdy element TARGET_NAME
ze swoim
powiązanych zasobów Firebase. Interfejs wiersza poleceń komunikuje się następnie z Firebase
i przeglądać ustawienia każdego zasobu.
Skonfiguruj cele wdrożenia dla zasobów Firebase
Za pomocą interfejsu wiersza poleceń Firebase zastosuj TARGET_NAME
(identyfikator skróconej nazwy, który
zdefiniowanego przez siebie) do zasobu lub grupy zasobów Firebase.
Firebase obsługuje cele wdrożenia dla:
- Firebase Hosting witryny
- Cloud Storage for Firebase zasobnika na dane
- Firebase Realtime Database instancja
Ustawienia celów wdrożenia są przechowywane w pliku .firebaserc
w
projektu, musisz więc skonfigurować cele wdrożenia tylko raz
w projektach AI.
Skonfiguruj cele wdrożenia dla: Hosting
Aby utworzyć miejsce docelowe wdrożenia i zastosować TARGET_NAME
do witryny Hosting, uruchom
następujące polecenie interfejsu wiersza poleceń:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
Gdzie parametry:
TYPE – odpowiedni typ zasobu Firebase,
- W przypadku stron Firebase Hosting użyj
hosting
.
- W przypadku stron Firebase Hosting użyj
TARGET_NAME – niepowtarzalna nazwa witryny Hosting, której jesteś wdrażanie w
RESOURCE_IDENTIFIER – pole
SITE_ID
dla witryny Hosting takie jak są dostępne w projekcie Firebase.
Jeśli na przykład utworzysz 2 witryny
(myapp-blog
i myapp-app
) w projekcie Firebase, możesz zastosować
unikalne TARGET_NAME
(odpowiednio blog
i app
) dla każdej witryny, uruchamiając
następujące polecenia:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Skonfiguruj cele wdrożenia dla: Cloud Storage lub Realtime Database
Aby utworzyć miejsce docelowe wdrożenia i zastosować TARGET_NAME
do zbioru
zasobów Cloud Storage lub Realtime Database, uruchom ten interfejs wiersza poleceń
polecenie:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
Gdzie parametry:
TYPE – odpowiedni typ zasobu Firebase,
- W przypadku zasobników Cloud Storage użyj
storage
. - W przypadku instancji Realtime Database użyj
database
.
- W przypadku zasobników Cloud Storage użyj
TARGET_NAME – niepowtarzalna nazwa zasobu lub grupy zasobów. które mają wspólne reguły zabezpieczeń,
RESOURCE_IDENTIFIER – identyfikatory zasobów takie jak są wymienione w Twoim projekcie Firebase (np. nazwy zasobników na dane lub bazy danych) identyfikatorów instancji), które mają te same reguły zabezpieczeń.
Możesz na przykład zastosować pole TARGET_NAME
wartości main
do grupy 3 osób
regionalne zasobniki Cloud Storage (które współdzielą te same reguły zabezpieczeń)
uruchamiając następujące polecenie:
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
Zauważ, że myproject.appspot.com
to identyfikator domyślnego zasobnika,
a myproject-eu
i myproject-ja
to 2 dodatkowe zasobniki utworzone
w projekcie Firebase.
Konfigurowanie pliku firebase.json z celami wdrożenia
Po skonfigurowaniu celów wdrożenia dla zasobów Firebase przywołuj każdą z nich
zastosowano TARGET_NAME
w
Plik konfiguracji firebase.json
:
- Utwórz tablicę obiektów konfiguracji dla każdego zasobu Firebase
TYPE
(hosting
,storage
lubdatabase
). - W tablicach określ
target
(za pomocąTARGET_NAME
) i zdefiniuj Twoje ustawienia dla powiązanego zasobu Firebase lub grupy zasobów.
Kontynuując powyższe przykłady, w których Twój projekt Firebase składa się z 2 elementów.
Hosting witryn i 3 zasobników Cloud Storage (które współdzielą to samo
reguły zabezpieczeń), Twój plik firebase.json
będzie wyglądać tak:
{ "hosting": [ { "target": "blog", // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog" "public": "blog/dist", // contents of this folder are deployed to the site "myapp-blog" // ... }, { "target": "app", // "app" is the applied TARGET_NAME for the Hosting site "myapp-app" "public": "app/dist", // contents of this folder are deployed to the site "myapp-app" // ... "rewrites": [...] // You can define specific Hosting configurations for each site } ] } { "storage": [ { "target": "main", // "main" is the applied TARGET_NAME for the group of Cloud Storage buckets "rules": "storage.main.rules" // the file that contains the shared security rules } ] }
Jeśli masz wiele konfiguracji zasobów, możesz utworzyć wiele
cele wdrożenia i określić je w pliku firebase.json
. Wszystkie powiązane
zasoby zostaną wdrożone razem po uruchomieniu firebase deploy
.
Zarządzaj celami wdrożenia
Ustawienia celów wdrożenia są przechowywane w pliku .firebaserc
w
katalogu projektu. Celami wdrożenia swojego projektu możesz zarządzać, uruchamiając dowolną
tych poleceń w katalogu głównym Twojego projektu.
Polecenie | Opis |
---|---|
firebase target
|
Wyświetla listę celów wdrożenia w bieżącym katalogu projektu |
firebase target:remove \
|
Usuwa zasób z środowiska docelowego, do którego został przypisany |
firebase target:clear \
|
Usuwa wszystkie zasoby lub witrynę Hosting z określonego cel |
Polecenia target:remove
i target:clear
automatycznie aktualizują wdrożenie
ustawienia miejsca docelowego w pliku .firebaserc
w katalogu projektu.
Przetestuj lokalnie przed wdrożeniem
Uruchom dowolne z tych poleceń w katalogu głównym projektu.
Polecenie | Opis |
---|---|
firebase emulators:start
|
Emuluje wszystkie skonfigurowane zasoby w projekcie katalog |
firebase emulators:start \ |
Emuluje tylko treść i konfigurację parametru Hosting określona witryna Hosting |
firebase emulators:start \
|
Emuluje tylko plik reguł dla określonego zasobu (Cloud Storage) cel |
firebase emulators:start \
|
Emuluje tylko plik reguł dla określonego celu Realtime Database |
Więcej informacji o konfigurowaniu i używaniu Firebase Local Emulator Suite
Wdrażanie określonych zasobów Firebase
Uruchom dowolne z tych poleceń w katalogu głównym projektu.
Polecenie | Opis |
---|---|
firebase deploy
|
Tworzy wersję wszystkich zasobów możliwych do wdrożenia w projekcie katalog |
firebase deploy \
|
Wdraża tylko zawartość i konfigurację Hosting określono witrynę Hosting do aktywnego kanału tej witryny |
firebase hosting:channel:deploy CHANNEL_ID \ |
Wdraża tylko zawartość i konfigurację Hosting określono witrynę Hosting jako kanał podglądu dla witryna |
firebase deploy \
|
Wdraża tylko plik reguł na potrzeby określonego zasobu (Cloud Storage) cel |
firebase deploy \
|
Wdraża tylko plik reguł dla określonego środowiska docelowego Realtime Database |