Firebase App Hosting
Firebase App Hosting 可簡化動態網頁應用程式的開發和部署作業,並提供 GitHub 整合功能,以及與 Authentication、Cloud Firestore 和 Firebase 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 控制台存取記錄和指標、新增自訂網域,以及手動觸發推出作業。 |
運作原理
- 使用 Firebase 控制台或 Firebase CLI,在存放區中授權並安裝 Firebase GitHub 應用程式。
- 在 Firebase 控制台或 Firebase CLI 中,建立Firebase App Hosting後端,並提供存放區和即時分支,以進行持續部署。App Hosting 會為後端建立預設的推出政策,以便在變更推送至目標分支時,立即向 100% 的流量推出。
- 當提交內容推送至即時分支時,Google Cloud Developer Connect 會將事件傳送至 Firebase App Hosting。
- 回應這項事件時,Firebase App Hosting 會為連結至存放區的後端建立新的建構作業。
- 首先,Firebase App Hosting 會為您的提交建立新的 Cloud Build 建構作業。在這項工作中,Google Cloud 建構包會判斷應用程式使用的框架,並建立適合應用程式的容器和設定 (包括環境變數、Secret、執行個體數量下限/上限、並行、記憶體、CPU 和 VPC 設定)。詳情請參閱「App Hosting 建構程序」。
- Cloud Build 工作完成後,容器會儲存在專為 Firebase App Hosting 建立的 Artifact Registry 存放區中。Firebase App Hosting 會使用您的映像檔和設定,將新的 Cloud Run 修訂版本新增至 Cloud Run 服務。
- Cloud Run 修訂版本完成並通過健康狀態驗證後,Firebase App Hosting 會修改流量設定,將所有新要求導向新的 Cloud Run 修訂版本。此時,推出作業已完成。
- 要求傳送至 Firebase App Hosting 代管的網站時,Google Cloud Load Balancer 會在啟用 Cloud CDN 的情況下提供要求。未快取的要求會傳送至您的Cloud Run服務。
實作路徑
| 設定 Firebase | 如果沒有 Firebase 專案,請建立一個,並確認已啟用 Blaze 定價方案。 | |
| 設定「App Hosting」 | 使用 Firebase 控制台或 Firebase CLI 建立App Hosting後端。這是應用程式的管理資源集合,包括應用程式的 GitHub 存放區連線。 | |
| 管理及監控應用程式 | 建立 App Hosting後端後,應用程式就會在免費子網域上架,您可以在Firebase控制台中查看發布詳細資料。您可以使用 Google Cloud 控制台查看及搜尋記錄。 | |
| 開發應用程式 | App Hosting 每當有修訂版本推送至使用中的分支版本時,就會自動開始新的推出作業。 |
後續步驟
- 開始部署應用程式。
- 試用整合了代管應用程式與 Firebase Authentication 和 Gemini API 功能的 App Hosting 程式碼研究室:Next.js | Angular。
- 進一步瞭解 App Hosting 支援的各種社群支援架構。