Alternatywne sposoby wdrażania aplikacji do Hostingu aplikacji

Zazwyczaj zalecamy korzystanie z automatycznego wdrażania lub wdrażania wywoływanego ręcznie w konsoli Firebase. Możesz jednak potrzebować bardziej dostosowanego procesu wdrażania. App Hosting ma wiele opcji wdrożenia niestandardowego.

Wdrażanie z kodu źródłowego za pomocą interfejsu wiersza poleceń Firebase

Interfejs wiersza poleceń Firebase umożliwia przesyłanie kodu źródłowego i konfiguracji aplikacji bezpośrednio z komputera lokalnego do Firebase. Jest to wygodne, jeśli masz inne wdrożenia Firebase (np. reguły zabezpieczeń lub funkcje) i chcesz wdrożyć aplikację internetową oraz usługi backendu za pomocą jednego polecenia CLI.

Podczas wdrażania App Hosting przesyła kod źródłowy do zasobnika Google Cloud Storage, uruchamia polecenie kompilacji platformy w Cloud Build i wdraża końcowe artefakty w Cloud Run i Cloud CDN. App Hosting używa tego samego procesu kompilacji w przypadku wdrożeń z lokalnego źródła co w przypadku wdrożeń z GitHuba.

Aby wdrożyć aplikację ze źródła lokalnego:

  1. Uruchom firebase init apphosting w katalogu projektu lokalnego.
  2. W odpowiedzi na wyświetlony monit wybierz Użyj istniejącego projektu, a potem wybierz wybrany projekt Firebase.
  3. Wybierz nowy lub istniejący backend, na którym chcesz wdrożyć aplikację. Ten krok konfiguruje wdrożenia App Hosting w lokalnym katalogu i wyświetla prośbę o podanie informacji, których App Hosting potrzebuje do prawidłowego wdrożenia aplikacji:

    1. Identyfikator backendu, na którym ma zostać wdrożona aplikacja.
    2. Region, w którym ma zostać wdrożony backend (jeśli tworzysz nowy backend).
    3. Ścieżka do katalogu głównego kodu aplikacji

    App Hosting zapisuje Twoje preferencje wdrażania w pliku firebase.json (tworząc go w lokalnym projekcie, jeśli nie istnieje). Po pomyślnym zakończeniu inicjowania możesz uruchomić polecenie firebase deploy, aby wdrożyć kod źródłowy w App Hosting.

Jeśli masz wdrożenia lokalnego źródła danych skonfigurowane dla wielu backendów (co oznacza, że w backendId jest wiele wpisów firebase.json), firebase deploy zostanie wdrożony w każdym z tych backendów. Aby wdrożyć aplikację na konkretnym backendzie, użyj firebase deploy --only apphosting:backendId

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",
      ],
    },
  ]
}

Wdróż z użyciem Terraform

Jeśli potrzebujesz większej kontroli nad procesem kompilacji i wdrożonym środowiskiem, możesz wdrożyć aplikację za pomocą Terraform. Terraform umożliwia definiowanie zasobów App Hosting i zarządzanie nimi za pomocą deklaratywnych plików konfiguracji. Zapewnia też możliwość wdrażania 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.

Wdrażanie za pomocą Firebase Studio

Gdy utworzysz aplikację internetową za pomocą agenta do prototypowania aplikacji w Firebase Studio, możesz ją opublikować lub wdrożyć w Firebase App Hosting bezpośrednio z Firebase Studio. Zobacz Publikowanie aplikacji za pomocą hostingu aplikacji.