Firebase Hosting udostępnia narzędzia w konsoli Firebase i interfejsie wiersza poleceń Firebase, które umożliwiają zarządzanie kanałami, wersjami produkcyjnymi i wersjami witryny Hosting.
Omówienie infrastruktury Hosting
Zrozumienie infrastruktury Hosting pomoże Ci poznać opcje zarządzania opisane na tej stronie.
Każdy projekt Firebase ma domyślną Hosting witrynę Hosting z dostępem do wszystkich zasobów projektu (baz danych, uwierzytelniania, funkcji itp.). Witryna zawiera co najmniej 1 kanał, a każdy kanał jest powiązany z adresem URL , który obsługuje określoną treść i konfigurację Hosting.
Hosting
Hierarchia Hosting Firebase" />
Każda witryna Hosting ma kanał „live”, który obsługuje treści i konfigurację Hosting w (1) poddomenach udostępnianych przez Firebase (SITE_ID.web.app i SITE_ID.firebaseapp.com) oraz (2) wszystkich połączonych domenach niestandardowych. Opcjonalnie możesz też utworzyć
kanały „preview”, które obsługują własne treści i konfigurację pod tymczasowymi,
udostępnianymi „adresami URL podglądu” (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app
Treści i konfiguracja obsługiwane przez każdy kanał są pakowane w obiekt version z unikalnym identyfikatorem. Gdy wdrożysz witrynę, Firebase utworzy obiekt release , który wskazuje konkretną wersję. Wersja produkcyjna zawiera metadane dotyczące wdrożenia, np. kto i kiedy wdrożył.
Na panelu Hosting projektu Firebase, możesz zobaczyć pełną historię wersji produkcyjnych kanału „live” w tabeli Historia wersji. Jeśli masz kilka witryn Hosting, kliknij Wyświetl przy wybranej witrynie, aby zobaczyć jej historię wersji. Jeśli masz jakieś kanały podglądu, będą one też widoczne na panelu Hosting.
Zarządzanie ustawieniami kanału
Możesz kontrolować ustawienia każdego kanału w witrynie. Niektóre ustawienia, np. wygaśnięcie kanału, mają zastosowanie tylko do kanałów podglądu.
Ograniczanie liczby wersji produkcyjnych do zachowania
Za każdym razem, gdy wdrożysz kanał (i utworzysz wersję produkcyjną), Hosting zachowuje wersję powiązaną z poprzednią wersją produkcyjną w magazynie Hosting projektu. Możesz ustawić liczbę wersji produkcyjnych do zachowania na każdy kanał w projekcie, zarówno na kanały „live”, jak i na kanały podglądu.
Dlaczego Hosting zachowuje poprzednie wersje produkcyjne?
W przypadku kanału „live” zachowywanie poprzednich wersji produkcyjnych umożliwia w razie potrzeby przywrócenie poprzedniej wersji witryny. W przypadku kanałów podglądu przywracanie nie jest jeszcze dostępne.Dlaczego warto ograniczyć liczbę wersji produkcyjnych do zachowania?
Ta funkcja może pomóc Ci kontrolować poziom wykorzystania magazynu projektu Hosting, ponieważ w tym magazynie są przechowywane treści poprzednich wersji produkcyjnych. Magazyn Hosting możesz monitorować na karcie Miejsce na dane w konsoli.Co się stanie, gdy ograniczysz liczbę wersji produkcyjnych do zachowania?
Gdy ustawisz limit wersji produkcyjnych do zachowania, treści wszystkich wersji produkcyjnych powyżej ustawionego limitu zostaną przeznaczone do usunięcia, zaczynając od najstarszych wersji produkcyjnych.
Aby ustawić limit miejsca na wersje produkcyjne na kanale:
W konsoli Firebase otwórz Hosting i usługi bezserwerowe > Hosting aby otworzyć okno ustawień miejsca na wersje produkcyjne:
W przypadku kanału „live”
W tabeli Historia wersji witryny kliknij , a następnie wybierz Ustawienia miejsca na wersje produkcyjne.W przypadku dowolnego kanału podglądu
W wierszu kanału podglądu kliknij , a następnie wybierz Ustawienia kanału.
Wpisz liczbę wersji produkcyjnych, które chcesz zachować, a następnie kliknij Zapisz.
Ustawianie wygaśnięcia kanału podglądu
Domyślnie kanał podglądu wygasa po 7 dniach od daty utworzenia, ale kanał „live” witryny nigdy nie wygaśnie.
Gdy kanał podglądu wygaśnie, kanał oraz jego wersje produkcyjne i wersje z nim powiązane zostaną usunięte w ciągu 24 godzin. Powiązany adres URL podglądu zostanie też wyłączony. Wyjątkiem od usunięcia wersji jest sytuacja, gdy wersja jest powiązana z inną wersją produkcyjną (dzieje się tak np. w przypadku sklonowania wersji z jednego kanału na inny w tej samej witrynie).
Hosting obsługuje 2 sposoby kontrolowania wygaśnięcia kanału:
Firebase konsola
W wierszu kanału podglądu kliknij , a następnie wybierz Ustawienia kanału. Wpisz datę i godzinę wygaśnięcia.Firebase CLI
Gdy wdrażasz kanał podglądu, przekaż flagę--expires DURATION, na przykład:firebase hosting:channel:deploy new-awesome-feature --expires 7d
Wygaśnięcie może nastąpić maksymalnie 30 dni od daty wdrożenia. Używaj
hna godziny,dna dni iwna tygodnie (np.12h,7d,2w, odpowiednio).
Klonowanie wersji z jednego kanału na inny
Możesz sklonować wdrożoną wersję z jednego kanału na inny. Możesz klonować między kanałami „live” i podglądu, między Hosting witrynami, a nawet między projektami Firebase.
Polecenie clone wdraża też na kanale "target", dzięki czemu sklonowane Hosting treści i konfiguracja są automatycznie obsługiwane pod adresem URL powiązanym z kanałem "target" .
Ta funkcja jest przydatna do śledzenia wersji lub jeśli chcesz mieć pewność, że wdrażasz dokładnie te treści, które zostały wyświetlone lub przetestowane na innym kanale. Przykłady:
Klonowanie z kanału podglądu „QA” na kanał „live” witryny (wdrożenie produkcyjne).
Klonowanie z kanału „live” witryny na kanał podglądu „debug” (np. przed przywróceniem).
Klonowanie z kanału w projekcie w Firebase „staging” na kanał podglądu w projekcie w Firebase „prod”.
Aby sklonować wersję, uruchom to polecenie z dowolnego katalogu:
firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID
Każdy symbol zastępczy zastąp odpowiednią wartością:
SOURCE_SITE_ID i TARGET_SITE_ID: są to identyfikatory witryn Hosting, które zawierają kanały.
- W przypadku domyślnej witryny Hosting użyj identyfikatora projektu Firebase.
- Możesz określić witryny Hosting, które znajdują się w tym samym projekcie w Firebase lub w różnych projektach w Firebase.
SOURCE_CHANNEL_ID i TARGET_CHANNEL_ID: są to identyfikatory kanałów.
- W przypadku kanału „live” użyj
livejako identyfikatora kanału. - Jeśli określony kanał „target” jeszcze nie istnieje, to polecenie utworzy go przed wdrożeniem.
- W przypadku kanału „live” użyj
Przywracanie poprzedniej wersji witryny
Możesz wycofać zmiany, aby udostępnić poprzednią wersję kanału „live” witryny. Ta czynność jest przydatna, jeśli bieżąca wersja produkcyjna ma problem i chcesz przywrócić znaną, działającą wersję witryny. Może też się zdarzyć, że witryna udostępniała tymczasowe treści na święta lub wydarzenie specjalne, ale teraz chcesz wycofać zmiany, aby udostępniać „zwykłe” treści.
Przywracając, tworzysz nową wersję produkcyjną, która obsługuje tę samą wersję treści co poprzednia wersja produkcyjna. W tabeli Historia wersji obie wersje produkcyjne będą miały ten sam identyfikator wersji.
Aby wycofać zmiany:
W konsoli Firebase otwórz Hosting i usługi bezserwerowe > Hosting.
W tabeli Historia wersji witryny najedź kursorem na poprzednią wersję produkcyjną, do której chcesz wrócić.
Kliknij , a następnie Wycofaj zmiany.
Ręczne usuwanie wersji produkcyjnej
Może być konieczne ręczne usunięcie wersji produkcyjnej z kanału „live”, aby zwolnić miejsce na dane Hosting w Hosting na potrzeby projektu. Możesz usuwać tylko poprzednie wersje produkcyjne, a nie wersję produkcyjną, która jest obecnie obsługiwana w witrynie „live”.
Gdy usuniesz wersję produkcyjną, usuniesz jej treści, które zostaną przeznaczone do usunięcia w ciągu 24 godzin. Sam obiekt wersji produkcyjnej jest zachowywany, aby można było nadal wyświetlać jego metadane (kto i kiedy wdrożył).
Aby usunąć wersję produkcyjną:
W konsoli Firebase otwórz Hosting i usługi bezserwerowe > Hosting.
W tabeli Historia wersji witryny najedź kursorem na poprzednią wersję produkcyjną, którą chcesz usunąć.
Kliknij , a następnie wybierz Usuń.
Ręczne usuwanie plików
W Firebase Hosting podstawowym sposobem usuwania wybranych plików z wdrożonej witryny jest usunięcie plików lokalnie, a następnie ponowne wdrożenie.
Ręczne usuwanie kanału podglądu
Możesz wyświetlić podgląd kanałów, klikając kanał, którego podgląd chcesz wyświetlić. W tym widoku możesz zobaczyć, usunąć i przywrócić najnowsze wdrożenia i wersje produkcyjne powiązane z danym kanałem. Możesz usunąć kanał podglądu, ale nie możesz usunąć kanału „live” witryny.
Gdy usuniesz kanał podglądu, kanał oraz jego wersje produkcyjne i wersje z nim powiązane zostaną usunięte w ciągu 24 godzin. Powiązany adres URL podglądu zostanie też wyłączony. Wyjątkiem od usunięcia wersji jest sytuacja, gdy wersja jest powiązana z inną wersją produkcyjną (dzieje się tak np. w przypadku sklonowania wersji z jednego kanału na inny w tej samej witrynie).
Hosting obsługuje 2 sposoby usuwania kanału podglądu:
Firebase konsola
W wierszu kanału podglądu kliknij , a następnie Usuń kanał. Potwierdź usunięcie.Firebase CLI
Uruchom to polecenie z dowolnego katalogu:firebase hosting:channel:delete CHANNEL_ID
Polecenia interfejsu wiersza poleceń dotyczące kanałów podglądu i klonowania
Polecenia dotyczące kanałów podglądu
Jeśli masz kilka witryn, wszystkie polecenia dotyczące kanałów podglądu obsługują cele wdrożenia.Hosting
| Polecenie | Opis |
|---|---|
firebase hosting:channel:create CHANNEL_ID
|
Tworzy nowy kanał podglądu w
domyślnej Hosting witrynie przy użyciu określonego
To polecenie nie wdraża na kanale. |
firebase hosting:channel:delete CHANNEL_ID
|
Usuwa określony kanał podglądu Nie możesz usunąć kanału „live” witryny. |
firebase hosting:channel:deploy CHANNEL_ID
|
Wdraża treści i konfigurację Hosting na określonym kanale podglądu Jeśli kanał podglądu jeszcze nie istnieje, to polecenie utworzy go w domyślnej Hosting witrynie przed wdrożeniem na kanale. |
firebase hosting:channel:list
|
Wyświetla listę wszystkich kanałów (w tym kanału „live”) w domyślnej Hosting witrynie |
firebase hosting:channel:open CHANNEL_ID
|
Otwiera przeglądarkę pod adresem URL określonego kanału lub zwraca adres URL jeśli nie można otworzyć go w przeglądarce |
Polecenia dotyczące klonowania wersji
| Polecenie | Opis |
|---|---|
firebase hosting:clone \
|
Klonuje najnowszą wdrożoną wersję na określonym kanale „source” na określony kanał „target” To polecenie wdraża też na określonym kanale „target”. Jeśli kanał „target” jeszcze nie istnieje, to polecenie utworzy nowy kanał podglądu w witrynie Hosting „target” przed wdrożeniem na kanale. |
firebase hosting:clone \
|
Klonuje określoną wersję na określony kanał „target” To polecenie wdraża też na określonym kanale „target”. Jeśli kanał „target” jeszcze nie istnieje, to polecenie utworzy nowy kanał podglądu w witrynie Hosting „target” przed wdrożeniem na kanale.
|