Firebase App Hosting
Firebase App Hosting 可簡化動態網頁應用程式的開發和部署作業,並提供 GitHub 整合功能,以及與 Authentication、Cloud Firestore 和 Firebase AI Logic 等其他 Firebase 產品的整合功能。App Hosting 內建支援 Next.js 和 Angular,並預先設定好相關支援,也支援各種熱門網頁架構。
主要功能
| GitHub 整合 | 只要執行 git commit,即可推出新版應用程式。每當您推送至特定分支版本時,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 Buildpack 會判斷應用程式使用的架構,並建立適合應用程式的容器和設定 (包括環境變數、密鑰、執行個體數量上下限、並行、記憶體、CPU 和虛擬私有雲設定)。詳情請參閱「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 就會自動啟動新的推出作業。 |
後續步驟
- 開始部署應用程式。
- 試用 App Hosting 程式碼研究室,將託管應用程式與 Firebase Authentication 和 Gemini API 功能整合:Next.js | Angular。
- 進一步瞭解 App Hosting 支援的各種社群支援架構。