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 za pomocą interfejsu wiersza poleceń Firebase
Firebase Interfejs wiersza poleceń w wersji 14.4.0 i nowszej 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ą i usługi backendu razem za pomocą jednego polecenia interfejsu wiersza poleceń.
Podczas wdrażania App Hosting przesyła kod źródłowy do Google Cloud Storagezasobnika, uruchamia polecenie kompilacji platformy w Cloud Build i wdraża gotowe artefakty w Cloud Run i Cloud CDN. App Hosting używa tego samego procesu kompilacji w przypadku wdrożeń lokalnych i wdrożeń z GitHuba. Jeśli w projekcie masz plik .gitignore, pliki i foldery, które zawiera, są wykluczane z wdrożenia.
Aby wdrożyć aplikację ze źródła lokalnego:
- Uruchom polecenie
firebase init apphostingw katalogu projektu lokalnego. - W odpowiedzi na wyświetlony monit wybierz Użyj istniejącego projektu, a potem wybierz wybrany projekt w Firebase.
Wybierz nowy lub istniejący backend, na którym chcesz wdrożyć aplikację. Ten krok konfiguruje wdrożenia App Hosting w lokalnym katalogu i prosi o podanie informacji, których App Hosting potrzebuje do prawidłowego wdrożenia aplikacji:
- Identyfikator backendu, na którym ma zostać wdrożona usługa.
- Region, w którym ma zostać wdrożony backend (jeśli tworzysz nowy backend).
- Ścieżka do katalogu głównego kodu aplikacji
- Preferowane środowisko wykonawcze Node.js. Gdy wybierzesz środowisko wykonawcze z określoną wersją, automatyczne aktualizacje obrazu podstawowego automatycznie zastosują poprawki zabezpieczeń w środowisku bazowym.
App Hosting zapisuje Twoje ustawienia wdrożenia w pliku
firebase.json(tworząc go w projekcie lokalnym, jeśli nie istnieje). Po pomyślnym zakończeniu inicjowania możesz uruchomić poleceniefirebase 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 firebase.json jest wiele wpisów backendId), firebase deploy zostanie wdrożony w każdym z tych backendów. Aby wdrożyć go w określonym 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 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. Zapewnia też możliwość wdrażania własnego, wstępnie utworzonego 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, zapoznaj się z artykułem Wprowadzenie do Terraform i Firebase. Jeśli znasz już Terraform, możesz zacząć od przykładowych plików konfiguracyjnych i innych App Hosting zasobó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 następnie 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 zaplecza App Hosting, przycisk Opublikuj w Firebase Studio zostanie wycofany. Aby nadal publikować aktualizacje bez zmiany adresu URL, przenieś projekt. Dowiedz się, jak przeprowadzić migrację