Zarządzaj transmisjami na żywo kanały podglądu, wersje i wersje witryny

Firebase Hosting udostępnia narzędzia w Firebase konsoli i Firebase CLI do zarządzania kanałami, wersjami i wersjami witryny Hosting.

Omówienie infrastruktury Hosting

Zrozumienie infrastruktury Hosting pomoże Ci poznać opisane na tej stronie opcje zarządzania.

Każdy projekt Firebase ma domyślną Hosting witrynę 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 wyświetla określone treści, oraz z konfiguracją Hosting.

Obraz hierarchii Hostingu Firebase

Każda witryna Hosting ma kanał „na żywo”, który udostępnia treści i konfigurację Hosting w (1) poddomenach udostępnionych 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 „wersji zapoznawczej”, które wyświetlają własne treści i konfigurację pod tymczasowymi adresami URL „wersji zapoznawczej” (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app), które można udostępniać.

Treści i konfiguracja udostępniane przez każdy kanał są pakowane w obiekt version, który ma unikalny identyfikator. Gdy wdrożysz zmiany w witrynie, Firebase utworzy obiekt wersji, który będzie wskazywać konkretną wersję. Wersja zawiera metadane dotyczące wdrożenia, np. kto i kiedy je przeprowadził.

Na Hostingpanelu projektu Firebase możesz wyświetlić pełną historię wydań kanału na żywo w tabeli Historia wydań. Jeśli masz kilka Hostingwitryn, kliknij Wyświetl obok wybranej witryny, aby zobaczyć historię jej wersji. Jeśli masz jakieś kanały podglądu, są one również wyświetlane na Hosting panelu.

Zarządzanie ustawieniami kanału

Możesz zarządzać ustawieniami każdego kanału w witrynie. Niektóre ustawienia, takie jak wygaśnięcie kanału, mają zastosowanie tylko w przypadku kanałów w wersji podglądowej.

Ogranicz liczbę wersji do zachowania

Za każdym razem, gdy wdrażasz wersję na kanale (i tworzysz wersję), Hosting przechowuje wersję powiązaną z poprzednią wersją w Hosting pamięci projektu. Możesz ustawić liczbę wersji do zachowania dla każdego kanału w projekcie, zarówno w przypadku kanałów wersji produkcyjnej, jak i wersji testowej.

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

  • Dlaczego warto ograniczyć liczbę zachowywanych wersji?
    Ta funkcja pomaga kontrolować poziom wykorzystania miejsca na daneHosting w projekcie, ponieważ są w nim przechowywane treści z poprzednich wersji. Możesz monitorować pamięć Hosting na karcie Pamięć w konsoli.

  • Co się stanie, gdy ograniczysz liczbę zachowywanych wersji?
    Gdy ustawisz limit przechowywanych wersji, treści wszystkich wersji powyżej tego limitu zostaną zaplanowane do usunięcia, zaczynając od najstarszych wersji.

Aby ustawić limit miejsca na dane dla wersji na kanale:

  1. W konsoli Firebase otwórz Hosting i usługi bezserwerowe > Hosting, aby otworzyć okno ustawień miejsca na dane wersji:

    • W przypadku kanału na żywo
      W tabeli Historia wersji witryny kliknij , a następnie wybierz Ustawienia miejsca na wersje.

    • W przypadku dowolnego kanału z wersją zapoznawczą:
      w wierszu kanału z wersją zapoznawczą kliknij, a następnie wybierz Ustawienia kanału.

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

Ustawianie daty wygaśnięcia kanału podglądu

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

Gdy kanał przedpremierowy wygaśnie, kanał wraz z wersjami i powiązanymi wersjami zostanie przeznaczony do usunięcia w ciągu 24 godzin. Powiązany adres URL podglądu również zostanie dezaktywowany. Wyjątkiem od usuwania wersji jest sytuacja, gdy jest ona powiązana z inną wersją (dzieje się tak np. w przypadku sklonowania wersji z jednego kanału do drugiego w ramach tej samej witryny).

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
    Podczas wdrażania na kanale podglądu przekaż flagę --expires DURATION, na przykład:

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

    Okres ważności może wynosić do 30 dni od daty wdrożenia. Używaj h w przypadku godzin, d w przypadku dni i w w przypadku tygodni (np. 12h, 7d, 2w).

Klonowanie wersji z jednego kanału na inny

Możesz sklonować wdrożoną wersję z jednego kanału na inny. Klonowanie jest możliwe w przypadku kanałów aktywnych i wersji podglądu, Hosting witryn, a nawet projektów Firebase.

Polecenie klonowania wdraża też zmiany na kanale „docelowym”, dzięki czemu sklonowaneHosting treści i konfiguracja są automatycznie wyświetlane pod adresem URL powiązanym z kanałem „docelowym”.

Ta funkcja jest przydatna do śledzenia wersji lub gdy chcesz mieć pewność, że wdrażasz dokładnie te treści, które zostały przez Ciebie wyświetlone lub przetestowane w innym kanale. Oto przykłady:

  • Klonowanie z kanału podglądu „QA” na kanał na żywo w witrynie (publikowanie!)

  • Klonowanie z aktywnego kanału witryny do kanału podglądu „debug” (np. przed wycofaniem zmian)

  • 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

Zastąp każdy symbol zastępczy tymi elementami:

  • SOURCE_SITE_ID i TARGET_SITE_ID: to identyfikatory witryn Hosting, które zawierają kanały.

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

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

Przywracanie poprzedniej wersji witryny

Możesz wycofać zmiany, aby udostępnić 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. Być może Twoja witryna wyświetlała tymczasowe treści z okazji świąt lub specjalnego wydarzenia, ale teraz chcesz przywrócić wyświetlanie „zwykłych” treści.

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

Aby wycofać zmiany:

  1. W konsoli Firebase otwórz Hosting i usługi bezserwerowe > Hosting.

  2. W tabeli Historia wersji witryny najedź kursorem na poprzednią wersję, do której chcesz wrócić.

  3. Kliknij , a następnie wybierz Wycofaj zmiany.

Ręczne usuwanie wersji

Aby zwolnić Hostingmiejsce na dane na potrzeby projektu, może być konieczne ręczne usunięcie wydania z aktywnego kanału. Możesz usuwać tylko poprzednie wersje, a nie wersję, która jest obecnie wyświetlana w Twojej witrynie.

Gdy usuniesz wydanie, w rzeczywistości usuwasz jego zawartość, która zostanie usunięta w ciągu 24 godzin. Sam obiekt wersji jest zachowywany, aby można było nadal wyświetlać jego metadane (kto i kiedy wdrożył wersję).

Aby usunąć wydanie:

  1. W konsoli Firebase otwórz Hosting i usługi bezserwerowe > Hosting.

  2. W tabeli Historia wersji witryny najedź kursorem na poprzednią wersję, którą chcesz usunąć.

  3. 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 ich lokalnie, a następnie ponowne wdrożenie.

Ręczne usuwanie kanału podglądu

Aby wyświetlić podgląd kanałów, kliknij ten, który Cię interesuje. W tym widoku możesz wyświetlać, usuwać i przywracać najnowsze wdrożenia i wersje powiązane z danym kanałem. Możesz usunąć kanał wersji przedpremierowej, ale nie możesz usunąć aktywnego kanału witryny.

Gdy usuniesz kanał z wersjami przedpremierowymi, kanał wraz z wersjami i powiązanymi wersjami zostanie przeznaczony do usunięcia w ciągu 24 godzin. Powiązany adres URL podglądu również zostanie dezaktywowany. Wyjątkiem od usuwania wersji jest sytuacja, w której wersja jest powiązana z inną wersją (dzieje się tak np. w przypadku sklonowania wersji z jednego kanału do drugiego w ramach tej samej witryny).

Hosting obsługuje 2 różne sposoby usuwania kanału wersji przedpremierowej:

  • Firebase Konsola
    W wierszu kanału wersji przedpremierowej kliknij , a następnie wybierz 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 dla kanałów podglądu

Wszystkie polecenia dotyczące kanałów podglądu obsługują cele wdrażania, jeśli masz wiele witryn Hosting.

Polecenie Opis
firebase hosting:channel:create CHANNEL_ID

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

To polecenie nie jest wdrażane na 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 Hostingtreści i konfigurację na określony kanał podglądu;

Jeśli kanał podglądu jeszcze nie istnieje, to polecenie utworzy go w domyślnej witrynie Hosting przed wdrożeniem na kanale.

firebase hosting:channel:list Wyświetla wszystkie kanały (w tym kanał „na żywo”) w domyślnej Hosting witrynie.
firebase hosting:channel:open CHANNEL_ID Otwiera przeglądarkę z adresem URL określonego kanału lub zwraca adres URL, jeśli nie można go otworzyć w przeglądarce.

Polecenia klonowania wersji

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

Klonuje ostatnio wdrożoną wersję na określonym kanale „źródłowym” na określony kanał „docelowy”.

To polecenie wdraża też zmiany na określonym kanale „target”. Jeśli kanał „target” jeszcze nie istnieje, to polecenie utworzy nowy kanał podglądu w witrynie „target” Hosting przed wdrożeniem na kanale.

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

Klonuje określoną wersję na określony kanał „docelowy”.

To polecenie wdraża też zmiany na określonym kanale „target”. Jeśli kanał „target” jeszcze nie istnieje, to polecenie utworzy nowy kanał podglądu w witrynie „target” Hosting przed wdrożeniem na kanale.

Symbol VERSION_ID znajdziesz w Hosting panelu w Firebase konsoli.