我們通常建議使用自動推出或手動觸發推出 (透過 Firebase 控制台)。不過,您可能需要更自訂的部署流程。App Hosting 提供多種自訂部署選項。
使用 Firebase CLI 從來源部署
Firebase 14.4.0 以上版本的 CLI 可讓您直接從本機電腦將應用程式的原始碼和設定推送至 Firebase。如果您有其他 Firebase 部署作業 (例如安全性規則或函式),並想透過單一 CLI 指令一併部署網頁應用程式和後端服務,這項功能就非常方便。
部署時,App Hosting 會將原始碼上傳至 Google Cloud Storage bucket,在 Cloud Build 中執行架構建構指令,並將最終構件部署至 Cloud Run 和 Cloud CDN。App Hosting 對於本機來源部署作業,會使用與 GitHub 部署作業相同的建構程序。如果專案中有 .gitignore 檔案,部署作業會排除該檔案列出的檔案和資料夾。
如要從本機來源部署應用程式,請按照下列步驟操作:
- 在本機專案目錄中執行
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 發布應用程式」。
設定 GitHub 連線以進行 CI/CD
您隨時可以在 Firebase 控制台的後端設定中,前往「部署」分頁連結 GitHub 存放區。這樣一來,您就能從 Firebase Studio 或其他 IDE 等本機環境部署應用程式原型,並在準備就緒時轉換為自動化 CI/CD 管道。