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

Hosting Firebase udostępnia narzędzia za pośrednictwem konsoli Firebase i interfejsu wiersza polecenia Firebase do zarządzania kanałami, wydaniami i wersjami witryny w Hostingu.

Przegląd infrastruktury hostingowej

Zrozumienie infrastruktury hostingu pomaga w zrozumieniu opcji zarządzania opisanych 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ł , przy czym każdy kanał jest powiązany z adresem URL obsługującym określone treści i konfiguracją Hostingu.

obraz hierarchii Hostingu Firebase

Każda witryna Hostingu ma kanał „na żywo”, który udostępnia treści i konfigurację Hostingu w (1) poddomenach obsługiwanych przez Firebase ( SITE_ID .web.app i SITE_ID .firebaseapp.com ) oraz (2) we wszystkich połączonych domenach niestandardowych . Możesz też opcjonalnie utworzyć kanały „podglądu”, które udostępniają własną treść i konfigurację pod tymczasowymi, udostępnianymi „adresami URL podglądu” ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app ).

Treść i konfiguracja obsługiwane przez każdy kanał są pakowane do obiektu wersji , który ma unikalny identyfikator. Podczas wdrażania w witrynie Firebase tworzy obiekt wydania , który wskazuje konkretną wersję. Wydanie zawiera metadane dotyczące wdrożenia, takie jak kto i kiedy wdrożył.

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

Zarządzaj ustawieniami kanału

Dla każdego kanału w Twojej witrynie możesz kontrolować jego ustawienia. Niektóre ustawienia, takie jak wygaśnięcie kanału, dotyczą tylko 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 magazynie Hostingu Twojego projektu. Możesz ustawić liczbę wydań, które chcesz zachować dla każdego kanału w projekcie, zarówno kanałów na żywo, jak i kanałów podglądu.

  • Dlaczego Hosting zachowuje poprzednie wersje?
    W przypadku kanału na żywo zachowanie poprzednich wersji umożliwia w razie potrzeby powrót do poprzedniej wersji witryny. W przypadku kanałów podglądu wycofywanie nie jest jeszcze dostępne.

  • Po co ograniczać liczbę wydań do zachowania?
    Ta funkcja może pomóc w kontrolowaniu poziomu wykorzystania pamięci Hostingu projektu , ponieważ zawartość poprzednich wersji jest przechowywana w tej pamięci. Możesz monitorować magazyn Hostingu na karcie Magazyn w konsoli.

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

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

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

    • Na Twój kanał na żywo
      W tabeli Historia wydań dla swojej witryny kliknij , a następnie wybierz Zwolnij ustawienia przechowywania .

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

  2. Wpisz 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 w Twojej witrynie nigdy nie wygaśnie.

Gdy kanał podglądu wygaśnie, kanał wraz z jego wydaniami i powiązanymi wersjami jest planowany do usunięcia 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 innym wydaniem (dzieje się tak na przykład, jeśli sklonujesz wersję z jednego kanału do drugiego w tej samej witrynie ).

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 trwać 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 podglądzie, w witrynach Hostingu, a nawet w projektach Firebase.

Polecenie clone jest również wdrażane w kanale „docelowym”, dzięki czemu sklonowana zawartość Hostingu i konfiguracja 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 te treści, które 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 (uruchomienie na żywo!)

  • Klonuj z kanału na żywo swojej witryny do kanału podglądu „debugowania” (jak przed wycofaniem)

  • Klonuj z kanału w projekcie Firebase „pomostowym” do kanału podglądu w projekcie Firebase „prod”

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 w Hostingu użyj identyfikatora projektu Firebase.
    • Możesz określić witryny w Hostingu, 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 live użyj identyfikatora kanału na żywo.
    • Jeśli określony kanał „docelowy” jeszcze nie istnieje, to polecenie tworzy kanał przed wdrożeniem na nim.

Przywróć poprzednią wersję swojej witryny

Możesz wycofać się, aby wyświetlać poprzednią wersję kanału na żywo w swojej witrynie. Ta czynność jest przydatna, jeśli w bieżącej wersji występują problemy i chcesz przywrócić działanie, aby wyświetlać działającą wersję witryny. A może Twoja witryna wyświetlała tymczasową zawartość na święta lub specjalne wydarzenie, ale teraz chcesz wycofać, aby wyświetlać „zwykłą” zawartość.

Wycofując, tworzysz nową wersję, która obsługuje tę samą wersję treści, co wersja poprzednia. W tabeli Historia wydań obie wersje będą zawierać ten sam identyfikator wersji.

Oto jak wycofać:

  1. W konsoli Firebase w tabeli Historia wersji witryny najedź kursorem na poprzedni wpis wersji, do którego chcesz cofnąć.

  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 dla swojego projektu. Możesz usunąć tylko poprzednie wersje, a nie wersję aktualnie wyświetlaną w Twojej aktywnej witrynie.

Usuwając wydanie, w rzeczywistości usuwasz jego zawartość, która ma zostać usunięta w ciągu 24 godzin. Sam obiekt wydania jest zachowywany, 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 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 w swojej witrynie.

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

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

Komendy dla kanałów podglądu

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

Komenda Opis
firebase hosting:channel:create CHANNEL_ID

Tworzy nowy kanał podglądu w domyślnej witrynie Hostingu przy użyciu określonego identyfikatora 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 w witrynie.

firebase hosting:channel:deploy CHANNEL_ID

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

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

firebase hosting:channel:list Wyświetla listę wszystkich kanałów (w tym kanał „na żywo”) w domyślnej witrynie Hostingu
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 do klonowania wersji

Komenda 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” do określonego kanału „docelowego”

To polecenie jest również wdrażane w określonym kanale „docelowym”. Jeśli „docelowy” kanał jeszcze nie istnieje, to polecenie tworzy nowy kanał podglądu w „docelowej” witrynie hostingu 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 „docelowy” kanał jeszcze nie istnieje, to polecenie tworzy nowy kanał podglądu w „docelowej” witrynie hostingu przed wdrożeniem w kanale.

VERSION_ID znajdziesz w panelu Hostingu w konsoli Firebase.