Cele wdrożenia to krótkie identyfikatory (które sam definiujesz) zasobów Firebase w projekcie Firebase, np. witryna hostingowa z unikalnymi zasobami statycznymi lub grupa instancji bazy danych czasu rzeczywistego, które korzystają z tych samych reguł bezpieczeństwa.
Cele wdrażania są przydatne, jeśli masz wiele witryn hostingowych , wiele zasobników Cloud Storage lub wiele instancji bazy danych czasu rzeczywistego . Dzięki elementom docelowym wdrażania interfejs wiersza polecenia Firebase może wdrożyć ustawienia do określonego zasobu Firebase lub grupy zasobów w projekcie, na przykład:
- Konfiguracja hostingu dla każdej z Twoich witryn hostingowych
- Zasoby statyczne z katalogu projektu dla każdej witryny hostingowej
- Reguły bezpieczeństwa współdzielone przez wiele instancji bazy danych Realtime Database lub wiele zasobników Cloud Storage
Aby skonfigurować cel wdrożenia:
- Zastosuj
TARGET_NAME
do docelowego zasobu Firebase lub grupy zasobów Firebase. - W pliku
firebase.json
odwołuj się do powiązanegoTARGET_NAME
podczas konfigurowania ustawień dla każdego zasobu lub grupy zasobów.
Po uruchomieniu poleceń Firebase CLI (takich jak firebase deploy
), interfejs CLI Firebase łączy w parę każdy TARGET_NAME
z powiązanymi z nim zasobami Firebase. Następnie interfejs CLI przekazuje projektowi Firebase ustawienia każdego zasobu.
Skonfiguruj cele wdrażania dla zasobów Firebase
Korzystając z interfejsu CLI Firebase, zastosuj TARGET_NAME
(identyfikator krótkiej nazwy, który sam definiujesz) do zasobu Firebase lub grupy zasobów Firebase. Firebase obsługuje cele wdrażania dla:
- Witryny hostingowe Firebase
- Cloud Storage dla zasobników pamięci Firebase
- Instancje bazy danych czasu rzeczywistego Firebase
Ustawienia celów wdrażania są przechowywane w pliku .firebaserc
w katalogu projektu, więc wystarczy skonfigurować cele wdrażania tylko raz na projekt.
Skonfiguruj cele wdrożenia dla hostingu
Aby utworzyć miejsce docelowe wdrożenia i zastosować TARGET_NAME
w witrynie hostingowej, uruchom następującą komendę CLI:
firebase target:apply TYPE TARGET_NAME RESOURCE_IDENTIFIER
Gdzie parametry to:
TYPE — odpowiedni typ zasobu Firebase
- W przypadku witryn Firebase Hosting użyj
hosting
.
- W przypadku witryn Firebase Hosting użyj
TARGET_NAME — unikalna nazwa witryny hostingowej, w której przeprowadzasz wdrożenie
RESOURCE_IDENTIFIER —
SITE_ID
witryny hostingowej wymieniony w projekcie Firebase
Na przykład, jeśli w projekcie Firebase utworzyłeś dwie witryny ( myapp-blog
i myapp-app
), możesz zastosować unikalną TARGET_NAME
(odpowiednio blog
i app
) do 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 wdrażania dla Cloud Storage lub Bazy danych czasu rzeczywistego
Aby utworzyć miejsce docelowe wdrożenia i zastosować TARGET_NAME
do zestawu zasobów Cloud Storage lub Realtime Database, uruchom następującą komendę CLI:
firebase target:apply TYPE TARGET_NAME RESOURCE-1_IDENTIFIER RESOURCE-2_IDENTIFIER ...
Gdzie parametry to:
TYPE — odpowiedni typ zasobu Firebase
- W przypadku zasobników Cloud Storage użyj
storage
. - W przypadku instancji bazy danych czasu rzeczywistego użyj
database
.
- W przypadku zasobników Cloud Storage użyj
TARGET_NAME — unikalna nazwa zasobu lub grupy zasobów, które mają wspólne reguły bezpieczeństwa
RESOURCE_IDENTIFIER — identyfikatory zasobów wymienione w projekcie Firebase (takie jak nazwy zasobników pamięci lub identyfikatory instancji bazy danych), które mają te same reguły bezpieczeństwa
Na przykład możesz zastosować TARGET_NAME
main
do grupy trzech regionalnych zasobników Cloud Storage (które mają te same reguły bezpieczeństwa), uruchamiając następujące polecenie:
firebase target:apply storage main myproject.appspot.com myproject-eu myproject-ja
Pamiętaj, że myproject.appspot.com
jest identyfikatorem domyślnego segmentu, podczas gdy myproject-eu
i myproject-ja
to dwa dodatkowe segmenty utworzone w projekcie Firebase.
Skonfiguruj plik firebase.json tak, aby korzystał z obiektów docelowych wdrażania
Po skonfigurowaniu celów wdrażania dla zasobów Firebase odwołaj się do każdego zastosowanego TARGET_NAME
w pliku konfiguracyjnym firebase.json
:
- Utwórz tablicę obiektów konfiguracyjnych dla każdego
TYPE
zasobu Firebase (hosting
,storage
lubdatabase
). - W tablicach określ
target
(używającTARGET_NAME
) i zdefiniuj ustawienia dla powiązanego zasobu lub grupy zasobów Firebase.
Kontynuując powyższe przykłady, w których Twój projekt Firebase ma dwie witryny hostingowe i trzy zasobniki Cloud Storage (które mają te same reguły bezpieczeństwa), Twój plik firebase.json
będzie wyglądał następująco:
{ "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 obiektów docelowych wdrożenia i określić każdy z nich w pliku firebase.json
. Wszystkie powiązane zasoby zostaną wdrożone razem po uruchomieniu firebase deploy
.
Zarządzaj celami wdrażania
Ustawienia celów wdrażania są przechowywane w pliku .firebaserc
w katalogu projektu. Możesz zarządzać miejscami docelowymi wdrażania projektu, uruchamiając dowolne z poniższych poleceń z katalogu głównego katalogu projektu.
Komenda | Opis |
---|---|
firebase target | Wyświetla listę celów wdrożenia dla bieżącego katalogu projektu |
firebase target:remove \ | Usuwa zasób z celu, do którego został przypisany |
firebase target:clear \ | Usuwa wszystkie zasoby lub witrynę hostingową z określonego miejsca docelowego |
Polecenia target:remove
i target:clear
automatycznie aktualizują ustawienia miejsca docelowego wdrażania w pliku .firebaserc
w katalogu projektu.
Przed wdrożeniem przetestuj lokalnie
Uruchom dowolne z poniższych poleceń z katalogu głównego katalogu projektu.
Komenda | Opis |
---|---|
firebase emulators:start | Emuluje wszystkie skonfigurowane zasoby w katalogu projektu |
firebase emulators:start \ | Emuluje tylko zawartość hostingu i konfigurację określonej witryny hostingu |
firebase emulators:start \ | Emuluje tylko plik reguł dla określonego celu Cloud Storage |
firebase emulators:start \ | Emuluje tylko plik reguł dla określonego celu Bazy danych czasu rzeczywistego |
Dowiedz się więcej o konfigurowaniu i używaniu pakietu Firebase Local Emulator Suite .
Wdróż określone zasoby Firebase
Uruchom dowolne z poniższych poleceń z katalogu głównego katalogu projektu.
Komenda | Opis |
---|---|
firebase deploy | Tworzy wersję wszystkich możliwych do wdrożenia zasobów w katalogu projektu |
firebase deploy \ | Wdraża tylko zawartość hostingu i konfigurację określonej witryny hostingu w kanale na żywo witryny |
firebase hosting:channel:deploy CHANNEL_ID \ | Wdraża tylko zawartość hostingu i konfigurację określonej witryny hostingu w kanale podglądu witryny |
firebase deploy \ | Wdraża tylko plik reguł dla określonego celu Cloud Storage |
firebase deploy \ | Wdraża tylko plik reguł dla określonego celu bazy danych czasu rzeczywistego |