Catch up on highlights from Firebase at Google I/O 2023. Learn more

Zarządzaj kanałami na żywo i podglądem, wydaniami i wersjami swojej witryny

Firebase Hosting zapewnia narzędzia zarówno za pośrednictwem konsoli Firebase, jak i Firebase CLI do zarządzania kanałami, wydaniami i wersjami Twojej witryny Hosting.

Przegląd infrastruktury hostingowej

Zrozumienie infrastruktury hostingowej pomaga zrozumieć opcje zarządzania opisane na tej stronie.

Każdy projekt Firebase ma domyślną witrynę Hosting z dostępem do wszystkich zasobów projektu (bazy danych, uwierzytelnianie, funkcje itp.). Witryna zawiera co najmniej jeden kanał , gdzie każdy kanał jest powiązany z adresem URL, który udostępnia określoną zawartość i konfigurację hostingu.

obraz hierarchii Firebase Hosting

Każda witryna Hostingu ma „aktywny” kanał, który udostępnia zawartość i konfigurację Hostingu w (1) subdomenach obsługiwanych przez Firebase witryny ( SITE_ID .web.app i SITE_ID .firebaseapp.com ) oraz (2) wszelkich połączonych domenach niestandardowych . Możesz też opcjonalnie utworzyć kanały „podglądu”, które udostępniają własne treści i konfiguracje pod tymczasowymi, możliwymi do udostępnienia „podglądowymi adresami URL” ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

Treść i konfiguracja obsługiwana przez każdy kanał jest umieszczana w obiekcie wersji , który ma unikalny identyfikator. Podczas wdrażania w witrynie Firebase tworzy obiekt wydania , który wskazuje na określoną wersję. Wersja zawiera metadane dotyczące wdrożenia, takie jak kto i kiedy wdrożył.

W panelu Hosting projektu Firebase możesz zobaczyć pełną historię wydań swojego kanału na żywo w tabeli Historia wydań . Jeśli masz wiele witryn hostingowych , kliknij Wyświetl dla żądanej witryny, aby zobaczyć jej historię wydań. Jeśli masz jakieś kanały podglądu, są one również wyświetlane na pulpicie nawigacyjnym Hostingu.

Zarządzaj ustawieniami kanału

Dla każdego kanału Twojej witryny możesz kontrolować jego ustawienia. Niektóre ustawienia, takie jak wygaśnięcie kanału, mają zastosowanie tylko do kanałów podglądu.

Ogranicz liczbę wydań do zachowania

Za każdym razem, gdy wdrażasz w kanale (i tworzysz wersję), Hosting przechowuje wersję powiązaną z poprzednią wersją w pamięci Hostingu Twojego projektu. Możesz ustawić liczbę wydań, które mają być przechowywane dla każdego kanału w projekcie, zarówno kanałów na żywo, jak i podglądu.

  • Dlaczego Hosting przechowuje poprzednie wersje?
    W przypadku kanału na żywo zachowanie poprzednich wersji umożliwia w razie potrzeby przywrócenie poprzedniej wersji witryny. W przypadku kanałów podglądu wycofanie nie jest jeszcze dostępne.

  • Po co ograniczać liczbę wydań do zachowania?
    Ta funkcja może pomóc Ci kontrolować poziom wykorzystania miejsca na Hostingu Twojego projektu , ponieważ zawartość poprzednich wersji jest przechowywana w tym miejscu. Możesz monitorować swoją przestrzeń dyskową Hostingu na karcie Pamięć w konsoli.

  • Co się stanie, gdy ograniczysz wydania do zachowania?
    Gdy ustawisz limit do przechowywania wydań, zawartość wszystkich wydań przekraczających ustawiony limit zostanie zaplanowana do usunięcia, zaczynając od najstarszych wydań .

Oto jak ustawić limit miejsca na wydanie dla kanału:

  1. W konsoli Firebase przejdź do okna dialogowego ustawień przechowywania wersji:

    • Dla Twojego kanału na żywo
      W tabeli Historia wersji swojej witryny kliknij , a następnie wybierz Ustawienia przechowywania wersji .

    • Dla dowolnego kanału podglądu
      W wierszu kanału podglądu kliknij , a następnie wybierz Ustawienia kanału .

  2. Wprowadź liczbę wersji, które chcesz zachować, a następnie kliknij Zapisz .

Ustaw wygaśnięcie kanału podglądu

Domyślnie kanał podglądu wygasa po 7 dniach od daty utworzenia, ale kanał na żywo Twojej witryny nigdy nie wygasa.

Gdy kanał podglądu wygaśnie, kanał wraz z jego wersjami i powiązanymi wersjami zostanie usunięty w ciągu 24 godzin. Powiązany adres URL podglądu jest również dezaktywowany. Wyjątkiem od tego usunięcia wersji jest sytuacja, gdy wersja jest powiązana z inną wersją (dzieje się tak na przykład, gdy sklonujesz wersję z jednego kanału do drugiego w ramach tej samej witryny ).

Hosting obsługuje dwa różne sposoby kontrolowania wygaśnięcia kanału:

  • Konsola Firebase
    W wierszu kanału podglądu kliknij , a następnie wybierz Ustawienia kanału . Wprowadź datę i godzinę wygaśnięcia.

  • Interfejs wiersza polecenia Firebase
    Podczas wdrażania w kanale podglądu przekaż flagę --expires DURATION , na przykład:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    Wygaśnięcie może wynosić do 30 dni od daty wdrożenia. Użyj h dla godzin, d dla dni i w dla tygodni (na przykład odpowiednio 12h , 7d , 2w ).

Sklonuj wersję z jednego kanału na inny

Możesz sklonować wdrożoną wersję z jednego kanału do innego kanału. Możesz klonować w kanałach na żywo lub w wersji zapoznawczej, w witrynach hostingowych, a nawet w projektach Firebase.

Polecenie clone jest również wdrażane w kanale „docelowym”, dzięki czemu sklonowana zawartość i konfiguracja hostingu są automatycznie udostępniane pod adresem URL skojarzonym z kanałem „docelowym”.

Ta funkcja jest przydatna do śledzenia wersji lub jeśli chcesz mieć pewność, że wdrażasz dokładnie tę treść, którą przeglądałeś i/lub testowałeś na innym kanale. Oto kilka przykładów:

  • Sklonuj z kanału podglądu „QA” do kanału na żywo w swojej witrynie (na żywo!)

  • Sklonuj z aktywnego kanału swojej witryny do kanału podglądu „debugowania” (jak przed wycofaniem)

  • Sklonuj z kanału w „stacjonarnym” projekcie Firebase do kanału podglądu w swoim „prod” projekcie Firebase

Aby sklonować wersję, uruchom następujące polecenie z dowolnego katalogu:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

Zastąp każdy symbol zastępczy następującym:

  • SOURCE_SITE_ID i TARGET_SITE_ID : są to identyfikatory witryn hostingowych zawierających kanały.

    • W przypadku domyślnej witryny hostingowej użyj identyfikatora projektu Firebase.
    • Możesz określić witryny hostingowe, które znajdują się w tym samym projekcie Firebase, a nawet w różnych projektach Firebase.
  • SOURCE_CHANNEL_ID i TARGET_CHANNEL_ID : To są identyfikatory kanałów.

    • W przypadku kanału na żywo użyj live jako identyfikatora kanału.
    • Jeśli określony kanał „docelowy” jeszcze nie istnieje, to polecenie tworzy kanał przed wdrożeniem w nim.

Przywróć poprzednią wersję swojej witryny

Możesz przywrócić poprzednią wersję kanału na żywo w swojej witrynie. Ta czynność jest przydatna, jeśli w bieżącej wersji występuje problem i chcesz przywrócić znaną działającą wersję witryny. A może Twoja witryna wyświetlała tymczasowe treści z okazji święta lub specjalnego wydarzenia, ale teraz chcesz wycofać się, aby udostępniać swoje „zwykłe” treści.

Wycofując, tworzysz nową wersję, która zawiera tę samą wersję treści, co poprzednia wersja. W tabeli historii wersji obie wersje będą miały ten sam identyfikator wersji.

Oto jak cofnąć:

  1. W konsoli Firebase w tabeli Historia wersji dla Twojej witryny najedź kursorem na poprzedni wpis wersji, do którego chcesz przywrócić.

  2. Kliknij , a następnie wybierz Cofnij .

Ręcznie usuń wydanie

Może być konieczne ręczne usunięcie wersji z kanału na żywo, aby zwolnić miejsce w Hostingu na potrzeby projektu. Możesz usuwać tylko poprzednie wersje, a nie te, które są obecnie udostępniane w Twojej opublikowanej witrynie.

Kiedy usuwasz wydanie, tak naprawdę usuwasz jego zawartość, która ma zostać usunięta w ciągu 24 godzin. Sam obiekt wydania jest przechowywany, dzięki czemu nadal można zobaczyć jego metadane (kto wdrożył i kiedy wdrożył).

Oto jak usunąć wydanie:

  1. W konsoli Firebase w tabeli Historia wersji dla Twojej witryny najedź kursorem na poprzedni wpis wersji, który chcesz usunąć.

  2. Kliknij , a następnie wybierz Usuń .

Ręcznie usuń kanał podglądu

Możesz usunąć kanał podglądu, ale nie możesz usunąć kanału na żywo swojej witryny.

Gdy usuniesz kanał podglądu, kanał wraz z jego wydaniami i powiązanymi wersjami zostanie zaplanowany do usunięcia w ciągu 24 godzin. Powiązany adres URL podglądu jest również dezaktywowany. Wyjątkiem od usunięcia wersji jest sytuacja, gdy wersja jest powiązana z inną wersją (dzieje się tak na przykład, gdy sklonujesz wersję z jednego kanału do drugiego w ramach tej samej witryny ).

Hosting obsługuje dwa różne sposoby usuwania kanału podglądu:

  • Konsola Firebase
    W wierszu kanału podglądu kliknij , a następnie wybierz Usuń kanał . Potwierdź usunięcie.

  • Interfejs wiersza polecenia Firebase
    Uruchom następujące polecenie z dowolnego katalogu:

    firebase hosting:channel:delete CHANNEL_ID

Polecenia CLI do podglądu kanałów i klonowania

Polecenia podglądu kanałów

Wszystkie polecenia dla kanałów wersji zapoznawczej obsługują cele wdrażania, jeśli masz wiele witryn hostingowych .

Komenda Opis
firebase hosting:channel:create CHANNEL_ID

Tworzy nowy kanał podglądu w domyślnej witrynie hostingowej przy użyciu określonego CHANNEL_ID

To polecenie nie jest wdrażane w kanale.

firebase hosting:channel:delete CHANNEL_ID

Usuwa określony kanał podglądu

Nie możesz usunąć kanału na żywo witryny.

firebase hosting:channel:deploy CHANNEL_ID

Wdraża zawartość i konfigurację hostingu w określonym kanale podglądu

Jeśli kanał w wersji zapoznawczej jeszcze nie istnieje, to polecenie tworzy kanał w domyślnej witrynie hostingu przed wdrożeniem w kanale.

firebase hosting:channel:list Wyświetla listę wszystkich kanałów (w tym kanału „na żywo”) w domyślnej witrynie hostingowej
firebase hosting:channel:open CHANNEL_ID Otwiera przeglądarkę pod adresem URL określonego kanału lub zwraca adres URL, jeśli otwarcie w przeglądarce nie jest możliwe

Polecenia klonowania wersji

Komenda Opis
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Klonuje ostatnio wdrożoną wersję w określonym kanale „źródłowym” do określonego kanału „docelowego”.

To polecenie jest również wdrażane w określonym kanale „docelowym”. Jeśli kanał „docelowy” jeszcze nie istnieje, to polecenie tworzy nowy kanał podglądu w „docelowej” witrynie hostingowej przed wdrożeniem w kanale.

firebase hosting:clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

Klonuje określoną wersję do określonego kanału „docelowego”.

To polecenie jest również wdrażane w określonym kanale „docelowym”. Jeśli kanał „docelowy” jeszcze nie istnieje, to polecenie tworzy nowy kanał podglądu w „docelowej” witrynie hostingowej przed wdrożeniem w kanale.

Identyfikator VERSION_ID można znaleźć w panelu Hosting w konsoli Firebase.