Zazwyczaj zalecamy korzystanie z automatycznego wdrażania lub wdrażania wywoływanego ręcznie w Firebase konsoli. Możesz jednak potrzebować bardziej spersonalizowanego procesu wdrażania. App Hosting ma wiele opcji wdrożenia niestandardowego.
Wdrażanie ze źródła
Wdrażanie ze źródła umożliwia przesyłanie kodu źródłowego i konfiguracji aplikacji bezpośrednio do App Hosting bez konieczności utrzymywania stałego połączenia z GitHubem.
Podczas wdrażania ze źródła App Hosting przesyła kod źródłowy do zasobnika Google Cloud Storage, uruchamia polecenie kompilacji platformy w Cloud Build i wdraża skompilowane artefakty w Cloud Run i Cloud CDN. W przypadku wdrożeń z lokalnego źródła i wdrożeń z GitHuba stosowany jest ten sam proces kompilacji. Jeśli w projekcie znajduje się plik .gitignore, pliki i foldery wymienione w nim są wykluczane z wdrożenia.
Wdrożenie możesz przeprowadzić z lokalnego źródła za pomocą Firebaseinterfejsu wiersza poleceń lub Firebasekonsoli.
Wymagane uprawnienia i konfiguracja infrastruktury
Zarówno Firebase interfejs wiersza poleceń, jak i Firebase konsola korzystają z tej samej infrastruktury backendu do przechowywania i tworzenia archiwów źródłowych, dlatego w przypadku obu metod wdrażania obowiązują te same wymagania dotyczące uprawnień IAM.
Dokładne wymagania zależą od tego, czy wdrażasz aplikację w określonej lokalizacji (regionie) po raz pierwszy. Więcej informacji o uprawnieniach znajdziesz w omówieniu Firebase IAM i w informacjach o uprawnieniach do Firebase App Hosting.
Uprawnienia dotyczące wstępnego wdrażania (pierwsze wdrożenie w lokalizacji)
Gdy po raz pierwszy zainicjujesz wdrażanie lokalnego źródła w lokalizacji projektu, Hosting musi udostępnić zasobnik GCS do przechowywania archiwów i przyznać agentowi usługi Hosting dostęp do nich. Ponieważ są to zadania administracyjne na poziomie projektu, wymagają one uprawnień właściciela projektu lub administratora IAM. Użytkownik z podstawową rolą Edytujący lub Przeglądający nie może przeprowadzić tej początkowej konfiguracji i zostanie zablokowany.
Wymagane uprawnienia do konfiguracji wstępnej obejmują:
- Włącz interfejs Storage API:
serviceusage.services.enable - Utwórz zasobnik źródłowy:
storage.buckets.createistorage.buckets.list - Skonfiguruj agenta usługi:
resourcemanager.projects.setIamPolicyprzyznaj Hosting dostęp do odczytu (roles/storage.objectViewer), aby mógł pobierać przesłany kod podczas kompilacji.
W przypadku początkowego wdrożenia zasobnik GCS jest tworzony z 30-dniowym cyklem życia, po którym jest usuwany. Możesz jednak zarządzać tym okresem w konsoli Cloud w sekcji Cloud Storage –> Zasobniki –> Cykl życia –> Reguły. Zobacz zarządzanie cyklami życia obiektów.
Uprawnienia do kolejnych wdrożeń (po zainicjowaniu lokalizacji)
Po zainicjowaniu zasobnika źródłowego i powiązań ról w lokalizacji (w ramach początkowego wdrożenia za pomocą interfejsu CLI lub konfiguracji w konsoli) zwykli programiści, edytujący lub App Hosting administratorzy mogą wdrażać aktualizacje. Uprawnienia administracyjne na poziomie projektu nie są wymagane w przypadku rutynowych wdrożeń.
Uprawnienia do aktywnego wdrażania obejmują:
- Weryfikacja zasobnika:
storage.buckets.list - Prześlij archiwum źródłowe:
storage.objects.create - Wywoływanie kompilacji i wdrażania: standardowe uprawnienia Hosting (
apphosting.builds.createiapphosting.rollouts.create)
Wdrażanie ze źródła za pomocą interfejsu wiersza poleceń Firebase
Firebase Interfejs CLI w wersji 14.4.0 i nowszych umożliwia przesyłanie kodu źródłowego i konfiguracji aplikacji bezpośrednio z komputera lokalnego do Firebase. Jest to wygodne, jeśli zarządzasz już innymi wdrożeniami Firebase (np. regułami zabezpieczeń lub funkcjami) i chcesz wdrożyć aplikację internetową oraz usługi backendu za pomocą jednego polecenia interfejsu wiersza poleceń.
Wymagania wstępne
- Projekty muszą być objęte abonamentem Blaze.
- Musisz mieć narzędzia Firebase w wersji 14.4.0 lub nowszej.
Etapy wdrażania
- Uruchom polecenie
firebase init apphostingw katalogu projektu lokalnego. - Gdy pojawi się prośba, kliknij Użyj istniejącego projektu i wybierz docelowy projekt w Firebase.
- Wybierz nowy lub istniejący backend, do którego chcesz wdrożyć aplikację. Ten krok konfiguruje Hostingwdrożenia w lokalnym katalogu i wyświetla prośbę o podanie szczegółów konfiguracji:
- Identyfikator backendu, na którym ma zostać wdrożona usługa
- Region, w którym ma zostać wdrożony nowy backend
- Ścieżka do katalogu głównego kodu aplikacji
- Preferowane środowisko wykonawcze Node.js. Wybór środowiska wykonawczego z określoną wersją umożliwia automatyczne stosowanie poprawek zabezpieczeń w środowisku bazowym dzięki funkcji Automatyczne aktualizacje obrazu bazowego.
- App Hosting zapisuje Twoje preferencje wdrażania w
firebase.json, tworząc plik w Twoim projekcie lokalnym, jeśli jeszcze nie istnieje. Po pomyślnym zakończeniu inicjowania uruchom poleceniefirebase deploy, aby wdrożyć kod źródłowy.
Przykładowy plik firebase.json
{
"apphosting": [
{
"backendId": "my-backend",
// rootDir specifies the directory containing the app to deploy, but the entire
// parent directory of firebase.json will be zipped and uploaded to ensure that
// dependencies outside of the app directory will be available at build time.
"rootDir": "./my-app",
"ignore": [
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log",
"functions"
]
}
]
}
Wdrażanie za pomocą konsoli Firebase (przesyłanie pliku ZIP)
FirebaseKonsola udostępnia graficzny interfejs do wdrażania aplikacji przez bezpośrednie przesyłanie skompresowanego archiwum źródłowego. Jest to alternatywa dla procesu połączenia z GitHubem w przypadku, gdy nie chcesz korzystać z GitHuba lub wolisz inną konfigurację CI/CD.
Przesyłanie archiwum można przeprowadzić podczas początkowego tworzenia backendu lub podczas tworzenia ręcznego wdrażania w istniejącym backendzie, w tym w backendach pierwotnie wdrożonych za pomocą interfejsu Firebase CLI.
Obsługiwane formaty
Narzędzie do przesyłania w konsoli natywnie weryfikuje i akceptuje 2 formaty skompresowanych archiwów:
.zip.tgz
Te formaty są wyraźnie widoczne w tekście opisu narzędzia do przesyłania plików.
Etapy wdrażania
Opcja A. Podczas wstępnego wprowadzania backendu
- Wybierz źródło: w kreatorze tworzenia backendu w kroku „Jak chcesz zaimportować aplikację?” kliknij Prześlij plik ZIP.
- Przygotowanie do wdrożenia: kliknięcie „Dalej” uruchamia proces przygotowania w tle, który kolejno włącza interfejs Storage API, zapewnia prawidłową konfigurację ról i wstawia zasobnik. W interfejsie wyświetla się spinner wczytywania z dynamicznymi komunikatami o stanie: „Włączanie interfejsu API…” „Sprawdzanie uprawnień…” i „Przygotowywanie zasobnika…”.
- Obsługa błędów i mechanizmy ochronne: jeśli którykolwiek z etapów przygotowania zakończy się niepowodzeniem (np. użytkownik, który nie jest właścicielem, otrzyma
403 PERMISSION_DENIEDz powodu niewystarczających uprawnień IAM), w interfejsie wyświetli się specjalne ostrzeżenie z instrukcją skontaktowania się z właścicielem projektu. Nawigacja krokowa jest zablokowana, a przycisk „Dalej” i ostateczny przycisk „Zakończ i wdroż” pozostają nieaktywne, dopóki problem nie zostanie rozwiązany.
- Obsługa błędów i mechanizmy ochronne: jeśli którykolwiek z etapów przygotowania zakończy się niepowodzeniem (np. użytkownik, który nie jest właścicielem, otrzyma
- Prześlij pliki: po zakończeniu przygotowywania wybierz lub przeciągnij plik archiwum do komponentu przesyłania plików.
Skonfiguruj ustawienia: określ główny katalog aplikacji (domyślnie
/).Kliknij Zakończ i wdroż: samodzielny przycisk „Zakończ” jest wyłączony w przypadku przesyłania plików ZIP, ponieważ przesłanie archiwum jest jednorazową czynnością i musi być natychmiast kontynuowane przez wdrożenie, aby zapewnić działanie backendu.
Opcja B. Tworzenie wdrożenia ręcznego
- Otwórz okno: na panelu Hosting kliknij Utwórz wdrożenie.
- Wybierz źródło: w prowadnicy kroków okna dialogowego kliknij Prześlij plik ZIP. Jeśli backend nie ma połączenia z GitHubem, opcja „GitHub” jest wyłączona.
- Przygotowanie i przesyłanie: wybór uruchamia ten sam proces przygotowania w tle („Włączanie interfejsu API…”, „Sprawdzanie uprawnień…” i „Przygotowywanie zasobnika…”. Po zakończeniu przeciągnij lub wybierz plik archiwum za pomocą narzędzia do przesyłania, określ główny katalog aplikacji i kliknij Wdróż, aby rozpocząć kompilację i wdrożenie.
Wdróż z użyciem Terraform
Jeśli potrzebujesz większej kontroli nad procesem kompilacji i wdrażanym środowiskiem, możesz wdrożyć usługę za pomocą Terraform. Terraform umożliwia definiowanie zasobów App Hosting i zarządzanie nimi za pomocą deklaratywnych plików konfiguracji, a także wdrażanie własnego wstępnie skompilowanego obrazu kontenera bezpośrednio w App Hosting zamiast polegać na App Hosting w zakresie kompilowania z kodu źródłowego.
Jeśli dopiero zaczynasz korzystać z Terraform, przeczytaj artykuł Pierwsze kroki z Terraform i Firebase. Jeśli znasz już Terraform, możesz zacząć od przykładowych plików konfiguracji i innych App Hostingzasobów.
Konfigurowanie połączenia z GitHubem na potrzeby CI/CD
W dowolnym momencie możesz połączyć repozytorium GitHub na karcie Wdrożenie w ustawieniach backendu w konsoli Firebase. Umożliwia to wdrożenie prototypu aplikacji ze środowiska lokalnego, a potem przejście na zautomatyzowany potok CI/CD, gdy będziesz gotowy.
Wdrażanie za pomocą narzędzi opartych na AI
22 marca 2027 wycofamy Firebase Studio. Chociaż nie wpłynie to na Twoje App Hostingbackendy, przycisk Opublikuj w Firebase Studio zostanie wycofany. Aby nadal publikować aktualizacje bez zmiany adresu URL, przenieś projekt. Dowiedz się, jak przeprowadzić migrację