我們通常建議使用自動推出或手動觸發推出功能。不過,您可能需要更自訂的部署流程。App Hosting 提供多種自訂部署選項。
使用 Firebase CLI 從來源部署
使用 Firebase CLI,即可直接從本機電腦將應用程式的原始碼和設定推送至 Firebase。如果您有其他 Firebase 部署作業 (例如安全性規則或函式),並想透過單一 CLI 指令一併部署網頁應用程式和後端服務,這項功能就非常方便。
部署時,App Hosting 會將原始碼上傳至 Google Cloud Storage bucket,在 Cloud Build 中執行架構建構指令,並將最終構件部署至 Cloud Run 和 Cloud CDN。App Hosting 會對本機來源部署作業和 GitHub 部署作業,使用相同的建構程序。
如要從本機來源部署應用程式,請按照下列步驟操作:
- 在本機專案目錄中執行
firebase init apphosting
。 - 在提示中選取「Use an existing project」,然後選取所選的 Firebase 專案。
選取要部署的新後端或現有後端;這個步驟會為本機目錄設定 App Hosting 部署作業,並提示您輸入成功部署應用程式所需的資訊 App Hosting:
- 要部署的後端 ID
- 要部署的區域 (如要建立新的後端)
- 應用程式程式碼根目錄的路徑
App Hosting 會將部署偏好設定儲存在
firebase.json
中 (如果本機專案中沒有這個檔案,系統會建立)。初始化成功後,您就可以執行firebase deploy
,將原始碼部署至 App Hosting。
如果已為多個後端設定本機來源部署作業 (也就是 firebase.json
中有多個 backendId
項目),firebase deploy
會部署至每個後端。如要部署到特定後端,請使用
firebase deploy --only apphosting:backendId
firebase.json 範例
{
"apphosting": [
{
"backendId": "my-backend",
// rootDir specifies the directory containing the app to deploy, but the entire
// parent directory of firebase.json will be zipped and uploaded to ensure that
// dependencies outside of the app directory will be available at build time.
"rootDir": "./my-app",
"ignore": [
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log",
"functions",
],
},
]
}
使用 Terraform 部署
如要進一步控管建構程序和部署環境,可以使用 Terraform 進行部署。您可以使用 Terraform 定義及管理 App Hosting 資源,並透過宣告式設定檔,直接將預先建構的容器映像檔部署至 App Hosting,不必依賴 App Hosting 從原始碼建構。
如果您是 Terraform 新手,請參閱「開始使用 Terraform 和 Firebase」。如果您已熟悉 Terraform,可以從範例設定檔和其他 App Hosting 資源著手。
使用 Firebase Studio 部署
使用 Firebase Studio 中的應用程式原型製作代理程式建立網頁應用程式時,可以直接從 Firebase Studio 發布或部署至 Firebase App Hosting。請參閱「使用 App Hosting 發布應用程式」。