Przed wdrożeniem zmian w działającej witrynie warto je wyświetlić i przetestować. Firebase Hosting umożliwia wyświetlanie i testowanie zmian lokalnie oraz interakcję z emulowanymi zasobami projektu backendu. Jeśli chcesz, aby członkowie Twojego zespołu mogli wyświetlać i testować zmiany, Hosting może utworzyć udostępniane, tymczasowe adresy URL podglądu Twojej witryny. Obsługujemy nawet integrację z GitHubem, która umożliwia wdrażanie z żądania pull.
Zanim zaczniesz
Wykonaj czynności podane na Hostingstronie Rozpocznij, a w szczególności te zadania:
- Zainstaluj lub zaktualizuj interfejs wiersza poleceń Firebase do najnowszej wersji.
- Połącz lokalny katalog projektu (zawierający zawartość aplikacji) z projektem Firebase.
Opcjonalnie możesz wdrożyć Hostingtreści i konfiguracjęHosting aplikacji, ale nie jest to wymagane w przypadku czynności opisanych na tej stronie.
Krok 1. Testowanie lokalne
Jeśli szybko wprowadzasz zmiany lub chcesz, aby aplikacja wchodziła w interakcje z emulowanymi zasobami projektu backendu, możesz przetestować Hostingtreści i konfigurację lokalnie. Podczas testowania lokalnego Firebase udostępnia aplikację internetową pod adresem URL hostowanym lokalnie.
Hosting jest częścią Firebase Local Emulator Suite, która umożliwia aplikacji interakcję z emulowanymi treściami i konfiguracją Hosting, a także opcjonalnie z emulowanymi zasobami projektu (funkcjami, bazami danych i regułami).
(Opcjonalnie) Domyślnie aplikacja hostowana lokalnie będzie wchodzić w interakcje z prawdziwymi, a nie emulowanymi zasobami projektu (funkcjami, bazą danych, regułami itp.). Zamiast tego możesz opcjonalnie połączyć aplikację, aby korzystać z dowolnych zasobów emulowanego projektu, które zostały skonfigurowane. Więcej informacji: Realtime Database | Cloud Firestore | Cloud Functions
W głównym katalogu projektu lokalnego uruchom to polecenie:
firebase emulators:start
Otwórz aplikację internetową pod lokalnym adresem URL zwróconym przez interfejs CLI (zwykle
http://localhost:5000
).Aby zaktualizować lokalny adres URL o wprowadzone zmiany, odśwież przeglądarkę.
Testowanie na innych urządzeniach lokalnych
Domyślnie emulatory odpowiadają tylko na żądania z localhost
. Oznacza to, że będziesz mieć dostęp do hostowanych treści z przeglądarki internetowej na komputerze, ale nie z innych urządzeń w sieci. Jeśli chcesz przeprowadzić testy na innych urządzeniach lokalnych, skonfiguruj firebase.json
w ten sposób:
"emulators": {
// ...
"hosting": {
"port": 5000,
"host": "0.0.0.0"
}
}
Krok 2. Wyświetl podgląd i udostępnij
Jeśli chcesz, aby inni użytkownicy mogli wyświetlać zmiany w aplikacji internetowej przed jej opublikowaniem, możesz użyć kanałów podglądu.
Po wdrożeniu na kanale podglądu Firebase udostępnia aplikację internetową pod „adresem URL podglądu”, czyli tymczasowym adresem URL, który można udostępniać. Gdy używasz adresu URL podglądu, Twoja aplikacja internetowa wchodzi w interakcję z prawdziwym backendem w przypadku wszystkich zasobów projektu (z wyjątkiem „przypiętych” funkcji w konfiguracji przepisania).
Pamiętaj, że chociaż adresy URL podglądu są trudne do odgadnięcia (ponieważ zawierają losowy hash), są publiczne. Dostęp do niego ma każda osoba, która zna adres URL.
W głównym katalogu projektu lokalnego uruchom to polecenie:
firebase hosting:channel:deploy CHANNEL_ID
Zastąp CHANNEL_ID ciągiem znaków bez spacji (np.
feature_mission-2-mars
). Ten identyfikator zostanie użyty do utworzenia adresu URL podglądu powiązanego z kanałem podglądu.Otwórz aplikację internetową pod adresem URL podglądu zwróconym przez interfejs CLI. Będzie wyglądać mniej więcej tak:
PROJECT_ID--CHANNEL_ID-RANDOM_HASH.web.app
Aby zaktualizować adres URL podglądu o wprowadzone zmiany, ponownie uruchom to samo polecenie. W poleceniu podaj ten sam parametr
CHANNEL_ID
.
Dowiedz się więcej o zarządzaniu kanałami z wersją zapoznawczą, w tym o tym, jak ustawić datę wygaśnięcia kanału.
Firebase Hosting obsługuje działanie GitHub, które automatycznie tworzy i aktualizuje adres URL podglądu, gdy zatwierdzasz zmiany w żądaniu pull. Dowiedz się, jak skonfigurować i używać tego działania GitHub Action.
Krok 3. Wdróż na żywo
Gdy zechcesz udostępnić zmiany, wdróż Hostingtreści i konfigurację na kanale na żywo. Firebase oferuje kilka różnych opcji tego kroku w zależności od przypadku użycia (patrz opcje poniżej).
Opcja 1. Klonowanie z kanału podglądu na kanał na żywo
Ta opcja daje pewność, że na kanale na żywo wdrażasz dokładnie te same treści i konfigurację, które zostały przetestowane na kanale podglądu. Dowiedz się więcej o klonowaniu wersji.
Uruchom to polecenie z dowolnego katalogu:
firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live
Zastąp każdy symbol zastępczy tymi elementami:
SOURCE_SITE_ID i TARGET_SITE_ID: to identyfikatory Hosting witryn, które zawierają kanały.
- W przypadku domyślnej witryny Hosting użyj identyfikatora projektu Firebase.
- Możesz określić witryny, które znajdują się w tym samym projekcie Firebase lub nawet w różnych projektach Firebase.
SOURCE_CHANNEL_ID: identyfikator kanału, który obecnie wyświetla wersję, którą chcesz wdrożyć na kanale na żywo.
- W przypadku kanału na żywo użyj
live
jako identyfikatora kanału.
- W przypadku kanału na żywo użyj
Wyświetl zmiany (następny krok).
Opcja 2. Wdrożenie z lokalnego katalogu projektu na kanał na żywo
Ta opcja daje Ci elastyczność w dostosowywaniu konfiguracji do kanału na żywo lub wdrażaniu nawet wtedy, gdy nie używasz kanału podglądu.
W głównym katalogu projektu lokalnego uruchom to polecenie:
firebase deploy --only hosting
Wyświetl zmiany (następny krok).
Krok 4. Wyświetl zmiany w działającej witrynie
Obie powyższe opcje wdrażają Twoje Hosting treści i konfigurację w tych witrynach:
Poddomeny udostępnione przez Firebase dla domyślnej Hosting witryny i wszystkich dodatkowych Hosting witryn:
SITE_ID.web.app
(np.PROJECT_ID.web.app
)
SITE_ID.firebaseapp.com
(np.PROJECT_ID.firebaseapp.com
)Wszystkie domeny niestandardowe połączone z Twoimi witrynami Hosting.
Aby ograniczyć wdrażanie do konkretnej Hosting witryny, określ cel wdrażania w poleceniu interfejsu wiersza poleceń.
Inne działania i informacje dotyczące wdrażania
Dodawanie komentarza do wdrożenia
Opcjonalnie możesz dodać komentarz do wdrożenia. Ten komentarz będzie wyświetlany wraz z innymi informacjami o wdrożeniu na Hostingpanelu w Firebasekonsoli. Przykład:
firebase deploy --only hosting -m "Deploying the best new feature ever."
Dodawanie skryptowych zadań przed wdrożeniem i po wdrożeniu
Opcjonalnie możesz połączyć skrypty powłoki z poleceniem firebase deploy
, aby wykonać zadania przed wdrożeniem lub po nim. Na przykład po wdrożeniu może on powiadamiać administratorów o wdrożeniach nowych treści w witrynie. Więcej informacji znajdziesz w Firebasedokumentacji interfejsu CLI.
Przechowywanie w pamięci podręcznej wdrożonych treści
Gdy zostanie wysłane żądanie treści statycznych, Firebase Hosting automatycznie zapisuje je w pamięci podręcznej sieci CDN. Jeśli ponownie wdrożysz treści witryny, Firebase automatycznie wyczyści wszystkie buforowane treści statyczne w sieci CDN, aby nowe żądania otrzymywały nowe treści.
Pamiętaj, że możesz skonfigurować buforowanie treści dynamicznych.
Wyświetlanie przez HTTPS
Upewnij się, że wszystkie zasoby zewnętrzne, które nie są hostowane na stronie Firebase Hosting, są ładowane przez SSL (HTTPS), w tym wszystkie skrypty zewnętrzne. Większość przeglądarek nie zezwala użytkownikom na wczytywanie „treści mieszanych” (ruchu SSL i bez SSL).
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.
Dalsze kroki
Zintegruj się z GitHubem i iteruj wyświetlaną zawartość, konfigurując działanie GitHub.
Dowiedz się więcej o innych możliwościach hostowania:
Zapoznaj się z pełną dokumentacją Firebaseinterfejsu wiersza poleceń.
Przygotuj się do uruchomienia aplikacji:
- Skonfiguruj alerty dotyczące budżetu w projekcie w konsoli Google Cloud.
- Monitoruj panel Wykorzystanie i rozliczenia w Firebase konsoli, aby uzyskać ogólny obraz wykorzystania usług Firebase w projekcie. Szczegółowe informacje o wykorzystaniu znajdziesz też w Hosting panelu Wykorzystanie.
- Zapoznaj się z listą kontrolną dotyczącą uruchamiania Firebase.