Zarządzanie aktywnymi i podglądowymi kanałami, wersjami i wersjami witryny

Hosting Firebase zapewnia narzędzia dostępne w konsoli Firebase i za pomocą interfejsu wiersza poleceń Firebase do zarządzania kanałami, wersjami i wersjami witryny Hosting.

Omówienie infrastruktury hostingu

Znajomość infrastruktury hostingu pomaga zrozumieć opcje zarządzania opisane na tej stronie.

Każdy projekt Firebase ma domyślną witrynę w Hostingu, która zapewnia dostęp do wszystkich zasobów projektu (baz danych, uwierzytelniania, funkcji itp.). Witryna zawiera co najmniej 1 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 aktywny kanał, który udostępnia treści i konfigurację hostingu w (1) subdomenach udostępnianych przez Firebase (SITE_ID.web.app i SITE_ID.firebaseapp.com) oraz (2) połączonych domenach niestandardowych. Możesz też opcjonalnie utworzyć kanały „podglądowe” wyświetlające własne treści i konfigurację pod tymczasowymi „adresami URL podglądu” (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app), które można udostępniać.

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

W panelu hostowania projektu Firebase możesz wyświetlić pełną historię wersji opublikowanych na kanale w tabeli Historia wersji. Jeśli masz wiele witryn Hostingu, kliknij Wyświetl przy odpowiedniej witrynie, aby zobaczyć historię jej wersji. Jeśli masz kanały z podglądem, wyświetlą się one również w panelu Hosting.

Zarządzanie ustawieniami kanału

Możesz zarządzać ustawieniami każdego kanału w swojej witrynie. Niektóre ustawienia, takie jak data wygaśnięcia kanału, mają zastosowanie tylko do kanałów wersji przedpremierowej.

Ogranicz liczbę wersji do zachowania

Za każdym razem, gdy wdrażasz coś w kanale (i tworzysz wersję), Hosting zachowuje wersję powiązaną z poprzednią wersją w miejscu na dane w Hostingu Twojego projektu. Możesz ustawić liczbę wersji, które mają zostać zachowane na każdym kanale w projekcie. Dotyczy to zarówno kanałów transmisji na żywo, jak i wersji z podglądem.

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

  • Po co ograniczać liczbę wersji do zachowania?
    Ta funkcja ułatwia kontrolowanie poziomu wykorzystania miejsca na dane w Hostingu projektu, ponieważ znajduje się w nim zawartość poprzednich wersji. Możesz monitorować miejsce na dane w Hostingu na karcie Miejsce na dane w konsoli.

  • Co się stanie, gdy ograniczysz wersje, które chcesz zachować?
    Gdy wyznaczysz limit wersji do zachowania, treści wszystkich wersji powyżej ustawionego limitu będą usuwane, zaczynając od najstarszych wersji.

Aby ustawić limit miejsca na dane wersji dla kanału:

  1. W konsoli Firebase otwórz okno ustawień miejsca na dane wersji:

    • W przypadku kanału dostępnego na żywo
      W tabeli Historia wersji dotyczącej Twojej witryny kliknij , a potem wybierz Ustawienia miejsca na dane.

    • W przypadku dowolnego kanału z podglądem
      W wierszu kanału podglądu kliknij i wybierz Ustawienia kanału.

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

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

Domyślnie kanał podglądu wygasa po 7 dniach od daty utworzenia, ale aktywny kanał w Twojej witrynie nigdy nie wygasa.

Po wygaśnięciu kanału z podglądem kanał oraz jego wersje i powiązane z nim wersje są przeznaczone do usunięcia w ciągu 24 godzin. Powiązany adres URL podglądu również zostanie zdezaktywowany. Wyjątkiem od usunięcia wersji jest powiązanie wersji z inną wersją (np. sklonowanie wersji z jednego kanału do innego w tej samej witrynie).

Hosting pozwala kontrolować datę wygaśnięcia kanału na 2 sposoby:

  • Konsola Firebase
    W wierszu kanału podglądu kliknij i wybierz Ustawienia kanału. Wpisz datę i godzinę wygaśnięcia ważności.

  • Interfejs wiersza poleceń Firebase
    Podczas wdrażania w kanale podglądu prześlij flagę --expires DURATION, na przykład:

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

    Wygaśnięcie może potrwać do 30 dni od daty wdrożenia. h oznacza godziny, d oznacza dni, a w – tygodnie (odpowiednio np. 12h, 7d, 2w).

Kopiowanie wersji z jednego kanału do innego

Wdrożoną wersję możesz skopiować z jednego kanału do innego. Możesz klonować dane z kanałów na żywo lub z podglądem, w witrynach Hostingu, a nawet w projektach Firebase.

Polecenie klonowania jest też wdrażane na kanale „docelowym”, tak aby sklonowana treść i konfiguracja hostingu były automatycznie wyświetlane pod adresem URL powiązanym z kanałem docelowym.

Ta funkcja jest przydatna przy śledzeniu wersji lub gdy chcesz mieć pewność, że wdrażasz dokładnie treści, które zostały wyświetlone lub przetestowane na innym kanale. Oto kilka przykładów:

  • Sklonuj z kanału podglądu „Kontrola jakości” do kanału na żywo w swojej witrynie.

  • Skopiuj z kanału aktywnego witryny do kanału podglądu „debugowania” (np. przed przywróceniem funkcji).

  • Kopiowanie z kanału „testowego” projektu Firebase do kanału podglądu w „produkcyjnym” projekcie Firebase

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 następującym:

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

    • Jako domyślnej witryny w Hostingu użyj identyfikatora projektu Firebase.
    • Możesz wybrać witryny Hostingu, które należą do tego samego projektu Firebase, a nawet do różnych projektów Firebase.
  • SOURCE_CHANNEL_ID i TARGET_CHANNEL_ID: to identyfikatory kanałów.

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

Przywracanie poprzedniej wersji witryny

Możesz przywrócić poprzednią wersję kanału opublikowanego w Twojej witrynie. To działanie jest przydatne, jeśli w bieżącej wersji występuje problem i chcesz ją wycofać, aby wyświetlać znaną działającą wersję witryny. Być może witryna udostępniała tymczasowo treści związane z świętami lub specjalnymi wydarzeniami, ale teraz chcesz je przywrócić, aby wyświetlać „zwykłe” 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ą zawierać ten sam identyfikator.

Oto jak przywrócić poprzednią wersję:

  1. W konsoli Firebase w tabeli Historia wersji witryny najedź kursorem na poprzednią pozycję, którą chcesz przywrócić.

  2. Kliknij , a potem wybierz Cofnij.

Ręczne usuwanie wersji

Aby zwolnić miejsce na serwerze projektu, konieczne może być ręczne usunięcie wersji z kanału transmisji na żywo. Możesz usunąć tylko poprzednie wersje, a nie te, które są obecnie udostępniane w aktywnej witrynie.

Gdy usuwasz wersję, w rzeczywistości usuwasz jej zawartość, która zgodnie z planem ma zostać usunięta w ciągu 24 godzin. Obiekt wersji jest zachowywany, aby można było nadal zobaczyć jego metadane (kto i kiedy przeprowadził wdrożenie).

Aby usunąć wersję:

  1. W konsoli Firebase w tabeli Historia wersji dotyczącej Twojej witryny najedź kursorem na poprzednią wersję, którą chcesz usunąć.

  2. Kliknij i wybierz Usuń.

Ręczne usuwanie plików

W Hostingu Firebase 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órego podgląd chcesz wyświetlić. W tym widoku możesz wyświetlać, usuwać i cofać najnowsze wdrożenia i wersje powiązane z konkretnym kanałem. Możesz usunąć kanał z podglądem, ale nie możesz usunąć kanału rzeczywistego ze swojej witryny.

Gdy usuniesz kanał wersji przedpremierowej, kanał oraz wersje z nim powiązane i powiązane z nim wersje zostaną usunięte w ciągu 24 godzin. Powiązany adres URL podglądu również zostanie zdezaktywowany. Wyjątkiem od usunięcia wersji jest powiązanie wersji z inną wersją (np. sklonowanie wersji z jednego kanału do innego w tej samej witrynie).

Hosting pozwala na 2 sposoby usuwania kanału podglądu:

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

  • Interfejs wiersza poleceń Firebase
    Uruchom to polecenie z dowolnego katalogu:

    firebase hosting:channel:delete CHANNEL_ID

Polecenia interfejsu wiersza poleceń do wyświetlania podglądu kanałów i klonowania

Polecenia dotyczące kanałów podglądu

Wszystkie polecenia kanałów podglądu obsługują cele wdrożenia, jeśli masz wiele witryn Hostingu.

Polecenie Opis
firebase hosting:channel:create CHANNEL_ID

Tworzy nowy kanał podglądu w domyślnej witrynie Hostingu przy użyciu podanego parametru 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ąć aktywnego kanału witryny.

firebase hosting:channel:deploy CHANNEL_ID

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

Jeśli kanał podglądu jeszcze nie istnieje, przed wdrożeniem na kanale to polecenie tworzy kanał w witrynie Hostingu default.

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

Polecenia dotyczące klonowania wersji

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

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

Polecenie to jest wdrażane również w określonym kanale „docelowym”. Jeśli kanał „docelowy” jeszcze nie istnieje, to polecenie tworzy 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

Kopiuje podaną wersję do określonego kanału „docelowego”

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

VERSION_ID znajdziesz w panelu Hostingu w konsoli Firebase.