Cele wdrożenia

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:

  1. Zastosuj TARGET_NAME do docelowej wersji Firebase zasób lub grupę zasobów Firebase.
  2. W pliku firebase.json odwoływać się do powiązanego obiektu TARGET_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:

.

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

  1. Utwórz tablicę obiektów konfiguracji dla każdego zasobu Firebase TYPE (hosting, storage lub database).
  2. 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 \
TYPE RESOURCE_IDENTIFIER
Usuwa zasób z środowiska docelowego, do którego został przypisany
firebase target:clear \
TYPE TARGET_NAME
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 \
--only hosting:TARGET_NAME
Emuluje tylko treść i konfigurację parametru Hosting określona witryna Hosting
firebase emulators:start \
--only storage:TARGET_NAME
Emuluje tylko plik reguł dla określonego zasobu (Cloud Storage) cel
firebase emulators:start \
--only database:TARGET_NAME
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 \
--only hosting:TARGET_NAME
Wdraża tylko zawartość i konfigurację Hosting określono witrynę Hosting do aktywnego kanału tej witryny
firebase hosting:channel:deploy CHANNEL_ID \
--only TARGET_NAME
Wdraża tylko zawartość i konfigurację Hosting określono witrynę Hosting jako kanał podglądu dla witryna
firebase deploy \
--only storage:TARGET_NAME
Wdraża tylko plik reguł na potrzeby określonego zasobu (Cloud Storage) cel
firebase deploy \
--only database:TARGET_NAME
Wdraża tylko plik reguł dla określonego środowiska docelowego Realtime Database