Jeśli masz włączone automatyczne wdrażanie, za każdym razem, gdy przenosisz nowe zatwierdzenie do gałęzi live w repozytorium GitHub, App Hosting automatycznie wdrażana jest nowa wersja aplikacji. Stan wdrażania możesz sprawdzić w Firebase konsoli lub w App Hosting kontroli GitHub.
Dodatkowo App Hosting obsługuje ręcznie wywoływane wdrożenia w przypadku integracji CI/CD lub w innych sytuacjach, w których chcesz wymusić wdrożenie.
Wyświetlanie wdrożeń
Firebase Konsola zapewnia dostęp do szczegółowych informacji o wszystkich wdrożeniach aplikacji.
Otwórz Hosting i usługi bezserwerowe > App Hosting, a potem kliknij Wyświetl w przypadku backendu, którego wdrożenia chcesz zobaczyć. Karta Wdrożenia backendu zawiera tabelę z historią wszystkich wdrożeń tego backendu.
Każdy wpis dotyczący wdrożenia zawiera linki do zadania Cloud Build i zmiany lub zatwierdzenia, które spowodowały wdrożenie, a także podstawowe informacje o autorze, dacie utworzenia i stanie wdrożenia.
- Cloud Build to środowisko kompilacji, w którym App Hosting uruchamia polecenie kompilacji aplikacji. Dostęp do dzienników Cloud Build uzyskasz, klikając identyfikator kompilacji.
- Zmiana to zatwierdzenie w GitHubie lub inne działanie, które spowodowało wdrożenie.
Ręczne uruchamianie wdrażania
Jeśli chcesz ręcznie uruchomić wdrażanie ze źródła GitHub bez przesyłania nowego zatwierdzenia, możesz utworzyć wdrażanie w Firebase konsoli lub Firebase interfejsie wiersza poleceń. Jest to przydatne w takich przypadkach jak:
- wymuszanie ponownego generowania treści statycznych;
- umożliwienie systemowi CI/CD wywoływania wdrożeń;
- ograniczanie wdrażania wersji produkcyjnych do określonych dat lub godzin;
Aby uruchomić wdrażanie w konsoli Firebase:
- W konsoli Firebase otwórz Hosting i usługi bezserwerowe > Hosting aplikacji.
- Kliknij Wyświetl w przypadku backendu, dla którego chcesz utworzyć wdrożenie.
- W podsumowaniu panelu backendu kliknij Utwórz wdrożenie.
- Wybierz gałąź do wdrożenia.
- Wybierz zatwierdzenie do wdrożenia: najnowsze lub wcześniejsze zatwierdzenie określone przez jego identyfikator.
- Kliknij Utwórz. W tabeli historii wdrożeń wyświetlany jest stan i numer kompilacji wdrożenia. Po zakończeniu procesu wdrażania to wdrożenie będzie wyświetlane jako bieżące.
Aby uruchomić wdrażanie w Firebase interfejsie wiersza poleceń, uruchom to polecenie i po wyświetleniu prośby wybierz gałąź do wdrożenia:
firebase apphosting:rollouts:create BACKEND_ID
Możesz też rozpocząć wdrażanie najnowszego zatwierdzenia w przypadku konkretnej gałęzi, korzystając z opcji --git-branch:
firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME
Możesz też utworzyć wdrożenie z określonym zatwierdzeniem, używając opcji --git-commit:
firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID
Przywracanie poprzedniego wdrożenia
App Hosting – masz 2 opcje przywrócenia poprzedniego wdrożenia:
- Cofanie zmian bez ponownego kompilowania
- Ponowne tworzenie i wycofywanie zmian do poprzedniej wersji
Tworzenie natychmiastowego wycofania
Czasami może być konieczne szybkie przywrócenie starszej wersji aplikacji, np. jeśli w nowo wdrożonej wersji wykryjesz krytyczny błąd lub jeśli masz niestabilną kompilację, która blokuje nowe wdrożenia. W takich przypadkach możesz przywrócić wybrany obraz kontenera z poprzedniego wdrożenia. Ten obraz nie jest ponownie kompilowany, ale korzysta z kodu i konfiguracji środowiska z czasu, gdy został utworzony po raz pierwszy.
Aby utworzyć natychmiastowe wycofanie:
- W konsoli Firebase otwórz Hosting i usługi bezserwerowe > Hosting aplikacji.
- Kliknij Wyświetl obok backendu, dla którego chcesz utworzyć wycofanie.
- Kliknij kartę Wdrożenia.
- W tabeli Historia backendu kliknij menu z 3 kropkami obok poprzedniej kompilacji.
- Wybierz Wycofaj zmiany do tej kompilacji i potwierdź.
Odbudowywanie i wycofywanie zmian
Jeśli chcesz przywrócić starszą wersję aplikacji, ale zachować bieżącą konfigurację, możesz ponownie skompilować aplikację w ramach procesu wycofywania. Jeśli na przykład w najnowszej wersji zaktualizowano wartość klucza interfejsu API w Secret Manager, ponowne skompilowanie może zapewnić, że po wycofaniu zmian w aplikacji będzie używany nowy klucz.
Aby ponownie skompilować i wycofać zmiany:
- W konsoli Firebase otwórz Hosting i usługi bezserwerowe > Hosting aplikacji.
- Kliknij Wyświetl panel w przypadku backendu, dla którego chcesz utworzyć wycofanie.
- Kliknij kartę Wdrożenia.
- Kliknij Utwórz wdrożenie.
- W oknie Tworzenie wdrożenia kliknij Wcześniejsza wersja, a potem wpisz identyfikator zatwierdzenia dla wersji, którą chcesz ponownie skompilować i wycofać zmiany do niej. Identyfikator zatwierdzenia jest częścią „Szczegółów zmiany” każdej wersji wymienionej w historii wdrażania i jest umieszczony w nawiasach w etykiecie.
- Aby rozpocząć wycofywanie, kliknij Utwórz.
Zmienianie ustawień wdrażania
Możesz zmienić gałąź live na potrzeby wdrażania oraz włączać i wyłączać automatyczne wdrażanie za pomocą elementów sterujących w widoku Ustawienia > Wdrażanie na panelu dotyczącym backendu.
- W konsoli Firebase otwórz Hosting i usługi bezserwerowe > Hosting aplikacji.
- Kliknij Wyświetl w przypadku backendu, w którym chcesz zaktualizować ustawienia wdrażania.
- Na panelu backendu wybierz Ustawienia. Widok domyślny wyświetla informacje o domenach i domenach niestandardowych.
- Wybierz widok Wdrożenie. W tym widoku możesz zmienić gałąź aktywną na potrzeby wdrażania oraz włączyć lub wyłączyć automatyczne wdrażanie. Możesz też ustawić katalog główny aplikacji i środowisko backendu (patrz Wdrażanie w wielu środowiskach).
Zarządzanie automatycznym wdrażaniem
Domyślnie App Hosting zakłada, że lista wszystkich plików jest „wymagana”, co oznacza, że każde nowe zatwierdzenie w repozytorium wywołuje nową kompilację i wdrożenie. Aby jednak zaoszczędzić czas i uniknąć niepotrzebnych wdrożeń, możesz skonfigurować App Hosting, aby pomijać kompilacje na podstawie określonych ścieżek plików zmodyfikowanych w zatwierdzeniu.
Możesz to skonfigurować w sekcji Ustawienia > Wdrażanie > Wyzwalacze wdrażania. W sekcji Wymagane ścieżki możesz pozostawić puste pole, jeśli chcesz, aby każde nowe zatwierdzenie w repozytorium wywoływało nową kompilację i wdrożenie. Możesz też określić, które katalogi lub pliki mają zawsze wywoływać wdrożenie. Jeśli określisz katalogi, dodaj wszystkie ścieżki, w których zmiany powinny wywoływać wdrożenie.
Katalogi lub pliki dodane do sekcji Ignored Paths nigdy nie spowodują automatycznego wdrożenia. Jeśli podkatalog znajduje się zarówno na liście wymaganych, jak i ignorowanych elementów, automatyczne wdrożenie nie zostanie uruchomione. Jeśli wypełnisz tylko listę ignorowanych ścieżek, App Hosting automatycznie wypełni wymagane ścieżki symbolem „*”.
Jeśli przeniesiesz zatwierdzenie, w którym żaden ze zmienionych plików nie pasuje do wymaganych ścieżek (lub jeśli wszystkie zmiany są wyraźnie wykluczone przez zignorowane ścieżki), App Hosting nadal potwierdzi otrzymanie zdarzenia GitHub, ale oznaczy stany kompilacji i wdrażania jako SKIPPED i nie zostanie wywołane żadne automatyczne wdrożenie.