瞭解 App Hosting 及其運作方式

App Hosting 可處理複雜的背景工作,簡化 部署 Kubernetes 叢集本頁將說明該作業流程的重要部分 針對您可能想要自訂流程的點提供相關資訊 來配合應用程式需求

架構支援

App Hosting 提供不需設定的建構及部署對網頁應用程式的支援 這些架構所開發的

  • Next.js 13 以上版本
  • Angular 17.2 以上版本

App Hosting 會檢查 存放區中的 package-lock.json 檔案或其他鎖定檔案。如果您嘗試 部署缺少鎖定檔案的 Node.js 應用程式,App Hosting 無法 建構及執行應用程式您可以在根目錄中執行 npm install 來建立 package-lock.json

App Hosting 架構轉接器有兩個重要角色:

  1. 他們會剖析您的原始碼和任何架構專屬的設定檔 (例如 next.config.js),瞭解應用程式的設定行為。
  2. 他們會執行應用程式的建構指令,產生靜態資產並 針對正式版應用程式進行最佳化調整。

架構轉接器會使用 npm run build 建構 Node.js 應用程式,且效能最佳 以及每個架構的預設建構指令碼:next build 適用於 Next.js ng build 代表 Angular。App Hosting 會使用自訂建構功能嘗試建構 但不保證一定會成功。

App Hosting 存放區整合的運作方式

GitHub 存放區與 App Hosting 之間的重要連結 會由 Kubernetes 處理 Developer Connect Google Cloud 的連線平台 適用於外部開發運作工具在建立 App Hosting 後端時 Developer Connect 的 UI 工作流程會引導您完成 Firebase GitHub 應用程式。此程序的重要步驟包括:

  1. 授予 Developer Connect Secret Manager 管理員 角色。這可讓系統以「密鑰」安全地儲存憑證英吋 Cloud Secret Manager
  2. 您授權 Firebase GitHub 應用程式存取您的 GitHub 存放區
  3. Developer Connect 會將專屬的 GitHub 授權權杖儲存在 專案中的 Secret Manager 存放區請不要修改或刪除這個權杖

此外,App Hosting 與 GitHub Check API 整合, 以及檢查推出狀態這項檢查可以讓您在以下位置查看推出狀態: 並在部署程序中偵錯。

與 Firebase 和其他 Google 服務整合

App Hosting 會設定您的建構和執行階段環境,讓您可 使用 Google 初始化 Firebase Admin SDK 應用程式預設憑證。如此一來,後端 與其他 Firebase 產品搭配使用

App Hosting 後端服務帳戶

在建構和執行階段期間,App Hosting 後端會透過 和其他 Google 服務搭配使用預設服務帳戶 您初次在 Firebase 專案:

firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com

根據預設,這個服務帳戶會套用至所有後端 可讓您建構、執行及監控應用程式。這個平台也包含 權限 使用應用程式預設憑證驗證 Admin SDK 執行各種作業,例如從 Cloud Firestore 載入資料。詳情請見 Firebase App Hosting 角色

如果您的應用程式需要在 您也可以透過應用程式自訂預設服務帳戶 新增角色舉例來說,如果應用程式需要 Vertex AI 權限,您必須 您可能需要新增 roles/aiplatform.user 或相關職務

重要詞彙與定義

  • 後端:App Hosting 的代管資源集合 來建立並執行網頁應用程式。
  • 推出:連結至 Git 修訂版本的運作中應用程式特定版本。
  • 即時分支版本:將部署於 GitHub 存放區的分支版本 您的線上網址通常這是功能分支版本 會合併

已知問題和限制

App Hosting 預先發布版有一些已知的限制:

  • 目前尚未提供圖片最佳化功能。
  • 在某些情況下,App Hosting 後端可能會傳回 應用程式網址有 Intermittent connection error 則訊息。修正方法 我們會在日後推出的版本中提供這些調整
  • 已修改 Cache-Control 標頭,將 CDN 快取限制在 60 秒內;的 App Hosting 能夠快速清除 即可解除這項限制
  • 系統會從透過 App Hosting 資料層。我們將在日後推出的版本中提供修正方法。
  • 未快取的靜態檔案會從 Cloud Run 提供;風格 之後版本就會從 App Hosting 來源儲存及提供 以獲得最佳效能
  • App Hosting SKU 可能不會顯示在 Firebase 控制台。我們將在日後推出的版本中提供這些功能。
  • Firebase 控制台可能會間歇顯示「找不到版本, 無效」發生這個錯誤。
  • 目前,同一項專案中的所有後端會共用 GitHub 機構/帳戶。 這些專案可連結至該機構/帳戶下的不同存放區。 如要建立連結至不同 GitHub 帳戶的後端, 可以放入不同專案
  • 目前僅支援 us-central1 區域。