Firebase App Hosting

Firebase App Hosting 可簡化動態網頁應用程式的開發和部署作業,並提供 GitHub 整合功能,以及與 AuthenticationCloud FirestoreFirebase AI Logic 等其他 Firebase 產品的整合功能。App Hosting 內建預先設定的 Next.js 和 Angular 支援,也廣泛支援各種熱門網頁架構。

開始使用

 

主要功能

GitHub 整合 只要提交 Git 修訂版本,即可推出新版應用程式。 每當您推送至特定分支版本時,App Hosting 都會自動部署。
已透過「Google Cloud」備份 App Hosting 會使用 Google Cloud 服務條款,並將應用程式部署到您信任的 Google Cloud 產品。應用程式是使用 Cloud Build 建構,在 Cloud Run 上提供服務,並快取在 Cloud CDN 中。Cloud Secret Manager 等整合式服務可確保 API 金鑰安全無虞。
大規模推出 AI 輔助功能 從使用 Gemini 的 AI 範例開始。 使用 Cloud Secret Manager 保護 API 端點的 API 金鑰,並運用 App Hosting 的串流支援功能,在應用程式中加入生成式 AI 功能時,維持快速的初始載入時間。
Firebase 控制台整合 Firebase 管理中心監控版本和推出情形,隨時掌握最新動態。從 Firebase 控制台存取記錄和指標、新增自訂網域,以及手動觸發推出作業。

運作原理

  1. 使用 Firebase 控制台或 Firebase CLI,在存放區中授權並安裝 Firebase GitHub 應用程式。
  2. Firebase 控制台或 Firebase CLI 中,建立Firebase App Hosting後端,並為持續部署作業提供存放區和即時分支。App Hosting 會為後端建立預設的推出政策,以便在變更推送至目標分支時,立即向 100% 的流量推出。
  3. 將修訂版本推送至即時分支版本時,Google Cloud Developer Connect 會將事件傳送至 Firebase App Hosting
  4. 回應這項事件時,Firebase App Hosting 會為連結至存放區的後端建立新的建構作業。
    1. 首先,Firebase App Hosting 會為您的提交內容建立新的 Cloud Build 建構作業。在這項工作中,Google Cloud 建構套件會判斷應用程式使用的框架,然後建立適合應用程式的容器和設定 (包括環境變數、Secret、執行個體數量下限或上限、並行記憶體、CPU 和 VPC 設定)。詳情請參閱App Hosting建構程序
    2. Cloud Build 工作完成後,容器會儲存在專為 Firebase App Hosting 建立的 Artifact Registry 存放區中。Firebase App Hosting 接著會使用您的映像檔和設定,在 Cloud Run 服務中新增 Cloud Run 修訂版本。
  5. Cloud Run 修訂版本完成並通過健康狀態驗證後,Firebase App Hosting 會修改流量設定,將所有新要求導向新的 Cloud Run 修訂版本。此時,推出作業已完成。
  6. 當要求傳送至 Firebase App Hosting 上託管的網站時,Google Cloud Load Balancer 會提供要求,並啟用 Cloud CDN。未快取的要求會傳送至 Cloud Run 服務。

實作路徑

設定 Firebase 如果您沒有 Firebase 專案,請建立一個,並確認已啟用 Blaze 定價方案。
設定「App Hosting 使用 Firebase 控制台或 Firebase CLI 建立後端。App Hosting這是應用程式的受管理資源集合,包括應用程式的 GitHub 存放區連線。
管理及監控應用程式 建立App Hosting後端App Hosting後,應用程式就會在免費子網域上架,您可以在Firebase控制台中查看發布詳細資料。您可以使用 Google Cloud 控制台查看及搜尋記錄。
開發應用程式 每當有修訂版本推送至使用中的分支版本時,App Hosting 就會自動啟動新的推出作業。

後續步驟

  • 開始部署應用程式。
  • 請試用整合代管應用程式與 Firebase AuthenticationGemini API 功能的 App Hosting 程式碼研究室: Next.js | Angular
  • 進一步瞭解 App Hosting 支援的各種社群支援架構