Alternatywne sposoby wdrażania aplikacji do Hostingu aplikacji

W większości przypadków zalecamy korzystanie z wdrażania automatycznego lub wdrażania uruchamianego ręcznie z konsoli Firebase. Możesz jednak potrzebować bardziej dostosowanego procesu wdrażania. App Hosting ma kilka opcji niestandardowego wdrażania.

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 usługi 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ń ze źródeł lokalnych i wdrożeń z GitHuba używany jest ten sam proces kompilacji. Jeśli w projekcie znajduje się plik .gitignore, wymienione w nim pliki i foldery są wykluczone z wdrożenia.

Możesz wdrożyć aplikację ze źródła lokalnego za pomocą interfejsu wiersza poleceń Firebase lub konsoli Firebase.

Wymagane uprawnienia i konfiguracja infrastruktury

Zarówno interfejs wiersza poleceń Firebase, jak i konsola Firebase używają 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ń.

Dokładne wymagania zależą od tego, czy wdrażasz po raz pierwszy w określonej lokalizacji (regionie). Więcej informacji o uprawnieniach znajdziesz w omówieniu uprawnień Firebase i w sekcji dotyczącej uprawnień Hostingu aplikacji Firebase.

Uprawnienia do wstępnego wprowadzenia (pierwsze wdrożenie w lokalizacji)

Gdy wdrożenie ze źródła lokalnego jest inicjowane w lokalizacji projektu po raz pierwszy, App Hosting musi udostępnić zasobnik GCS do przechowywania archiwów i przyznać agentowi usługi App Hosting dostęp do nich. Ponieważ są to zadania administracyjne na poziomie projektu, wymagają uprawnień właściciela projektu lub administratora uprawnień. Użytkownik z podstawową rolą Edytujący lub Przeglądający nie może przeprowadzić tej wstępnej konfiguracji i zostanie zablokowany.

Wymagane uprawnienia do konfiguracji obejmują:

  • Włącz interfejs Storage API: serviceusage.services.enable
  • Utwórz zasobnik źródłowy: storage.buckets.create i storage.buckets.list
  • Skonfiguruj agenta usługi: resourcemanager.projects.setIamPolicy, aby przyznać App Hosting uprawnienia do odczytu (roles/storage.objectViewer), dzięki czemu będzie 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, wybierając 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 dla lokalizacji (za pomocą początkowego wdrożenia interfejsu wiersza poleceń lub konfiguracji konsoli) zwykli programiści, edytujący lub administratorzy App Hosting mogą wdrażać aktualizacje. Uprawnienia administracyjne na poziomie projektu nie są wymagane do rutynowych wdrożeń.

Uprawnienia do aktywnego wdrażania obejmują:

  • Sprawdź zasobnik: storage.buckets.list
  • Prześlij archiwum źródłowe: storage.objects.create
  • Aktywowanie kompilacji i wdrażania: standardowe uprawnienia App Hosting (apphosting.builds.create i apphosting.rollouts.create)

Wdrażanie ze źródła za pomocą interfejsu wiersza poleceń Firebase

Interfejs wiersza poleceń Firebase w wersji 14.4.0 lub nowszej 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 (takimi jak reguły zabezpieczeń lub funkcje) i chcesz wdrożyć aplikację internetową i usługi backendu za pomocą jednego polecenia CLI.

Wymagania wstępne

  • Twoje projekty muszą być objęte abonamentem Blaze.
  • Musisz mieć zainstalowane narzędzia firebase-tools w wersji 14.4.0 lub nowszej.

Etapy wdrażania

  1. Uruchom firebase init apphosting w katalogu projektu lokalnego.
  2. Gdy pojawi się prośba, kliknij Użyj istniejącego projektu i wybierz docelowy projekt w Firebase.
  3. Wybierz nowy lub istniejący backend, na którym chcesz przeprowadzić wdrożenie. Ten krok konfiguruje wdrożenia App Hosting dla katalogu lokalnego i wyświetla prośbę o podanie szczegółów konfiguracji:
    • Identyfikator backendu, na którym ma zostać przeprowadzone wdrożenie
    • Region, w którym ma zostać wdrożony backend, jeśli tworzysz nowy.
    • Ścieżka do katalogu głównego kodu aplikacji.
    • preferowane środowisko wykonawcze Node.js, Wybór środowiska wykonawczego z wersją umożliwia automatyczne aktualizacje obrazu podstawowego (ABIU), dzięki czemu poprawki zabezpieczeń są automatycznie stosowane w środowisku podstawowym.
  4. App Hosting zapisuje ustawienia wdrażania w pliku firebase.json, tworząc go w projekcie lokalnym, jeśli jeszcze nie istnieje. Po zakończeniu inicjowania uruchom firebase 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)

Konsola Firebase udostępnia interfejs graficzny do wdrażania aplikacji przez bezpośrednie przesyłanie skompresowanego archiwum źródłowego. Jest to alternatywa dla procesu połączenia z GitHubem w przypadkach, gdy nie chcesz używać GitHuba lub preferujesz inną konfigurację CI/CD.

Przesyłanie archiwum można wykonać podczas początkowego tworzenia backendu lub podczas ręcznego wdrażania na istniejącym backendzie, w tym na backendach wdrożonych pierwotnie za pomocą interfejsu wiersza poleceń Firebase.

Obsługiwane formaty

Narzędzie do przesyłania w konsoli natywnie sprawdza i akceptuje 2 formaty skompresowanych archiwów:

  • .zip
  • .tgz

Te formaty są wyraźnie widoczne w opisie przesyłającego pliki.

Etapy wdrażania

Opcja A. Podczas początkowego wprowadzania backendu
  1. Wybierz źródło: w kreatorze tworzenia backendu, w kroku „Jak chcesz zaimportować aplikację?”, wybierz Prześlij plik ZIP.
  2. Przygotowanie do wprowadzenia: kliknięcie „Dalej” uruchamia proces przygotowania w tle, który po kolei włącza interfejs Storage API, sprawdza, czy są skonfigurowane prawidłowe role, i aktualizuje zasobnik. W interfejsie pojawi się ikona ładowania z dynamicznymi komunikatami o stanie: „Włączam interfejs API…”, „Sprawdzam uprawnienia…” i „Przygotowuję zasobnik…”.
    • Obsługa błędów i zabezpieczenia: jeśli którykolwiek z kroków przygotowania nie powiedzie się (np. użytkownik, który nie jest właścicielem, otrzyma błąd 403 PERMISSION_DENIED z powodu niewystarczających uprawnień), w interfejsie wyświetli się specjalne ostrzeżenie z instrukcją, aby skontaktować się z właścicielem projektu. Nawigacja krok po kroku jest ściśle zablokowana, a przycisk „Dalej” i końcowy przycisk „Zakończ i wdróż” pozostają wyłączone, dopóki problem nie zostanie rozwiązany.
  3. Prześlij pliki: po zakończeniu przygotowań wybierz lub przeciągnij plik archiwum do komponentu przesyłania plików.
  4. Skonfiguruj ustawienia: określ katalog główny aplikacji (domyślnie /).

  5. Kliknij Zakończ i wdróż: samodzielny przycisk „Zakończ” jest wyłączony w przypadku przesyłania plików ZIP, ponieważ przesyłanie archiwum jest działaniem jednorazowym i musi po nim natychmiast nastąpić wdrożenie, aby zapewnić działanie backendu.

Opcja B. Tworzenie ręcznego wdrażania
  1. Otwórz okno: w panelu App Hosting kliknij Utwórz wdrożenie.
  2. Wybierz źródło: w oknie dialogowym kliknij Prześlij plik ZIP. Jeśli backend nie ma połączenia z GitHubem, opcja „GitHub” jest wyłączona.
  3. Przygotowanie i przesyłanie: wybór powoduje uruchomienie tego samego procesu przygotowania w tle („Włączam interfejs API…”, „Sprawdzam uprawnienia…” i „Przygotowuję zasobnik…”). Po zakończeniu przeciągnij lub wybierz plik archiwum za pomocą programu do przesyłania, określ katalog główny aplikacji i kliknij Wdróż, aby uruchomić kompilację i wdrożenie.

Wdróż z użyciem Terraform

Jeśli potrzebujesz większej kontroli nad procesem kompilacji i wdrożonym środowiskiem, możesz przeprowadzić wdrożenie za pomocą Terraform. Terraform umożliwia definiowanie zasobów App Hosting i zarządzanie nimi za pomocą deklaratywnych plików konfiguracji. Pozwala też wdrażać własne gotowe obrazy kontenerów bezpośrednio w App Hosting, zamiast polegać na App Hosting w celu kompilowania z kodu źródłowego.

Jeśli dopiero zaczynasz korzystać z Terraform, zapoznaj się z artykułem Pierwsze kroki z Terraform i Firebase. Jeśli znasz już Terraform, możesz zacząć od przykładowych plików konfiguracji i innych zasobów App Hosting.

Konfigurowanie połączenia z GitHubem na potrzeby CI/CD

W każdej chwili możesz połączyć repozytorium GitHub na karcie Wdrażanie w ustawieniach backendu w konsoli Firebase. Umożliwia to wdrożenie prototypu aplikacji ze środowiska lokalnego, a następnie przejście do zautomatyzowanego potoku CI/CD, gdy wszystko będzie gotowe.

Wdrażanie za pomocą narzędzi AI

22 marca 2027 r. wycofamy Firebase Studio. Nie będzie to miało wpływu na backendy App Hosting, ale przycisk Opublikuj w Firebase Studio zostanie wycofany. Aby nadal publikować aktualizacje bez zmiany adresu URL, przenieś projekt. Dowiedz się, jak przeprowadzić migrację