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 架構轉接器有兩個重要角色:
- 他們會剖析您的原始碼和任何架構專屬的設定檔 (例如
next.config.js
),瞭解應用程式的設定行為。 - 他們會執行應用程式的建構指令,產生靜態資產並 針對正式版應用程式進行最佳化調整。
架構轉接器會使用 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 應用程式。此程序的重要步驟包括:
- 授予 Developer Connect Secret Manager 管理員 角色。這可讓系統以「密鑰」安全地儲存憑證英吋 Cloud Secret Manager。
- 您授權 Firebase GitHub 應用程式存取您的 GitHub 存放區
- Developer Connect 會將專屬的 GitHub 授權權杖儲存在 專案中的 Secret Manager 存放區請不要修改或刪除這個權杖
此外,App Hosting 與 GitHub Check API 整合,以提供 以及檢查推出狀態這項檢查可以讓您在以下位置查看推出狀態: 並在部署程序中偵錯。
與 Firebase 和其他 Google 服務整合
App Hosting 會設定您的建構與執行階段環境,以便您 透過 Google 初始化 Firebase Admin SDK 應用程式預設憑證。如此一來,後端 與其他 Firebase 產品搭配使用
App Hosting 後端服務帳戶
在建構和執行階段中,App Hosting 後端會透過 和其他 Google 服務搭配使用預設服務帳戶 只要您初次啟用 App Hosting 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
區域。 - Next.js 中介軟體、重寫和重新導向都會在 Cloud Run,位於 CDN 後方。因為這些設定和快取無法 請務必設定 適當的控制指令 要用於轉譯內容