大多数情况下,我们建议您使用 自动发布或 手动触发发布 (通过 Firebase 控制台)。不过,您可能需要更自定义的部署流程。App Hosting 提供了多种自定义部署选项。
使用 Firebase CLI 从源代码进行部署
Firebase CLI v14.4.0 及更高版本 可让您将应用源代码和配置 直接从本地机器推送到 Firebase。如果您有其他 Firebase 部署(例如安全规则或函数),并且想要使用单个 CLI 命令同时部署 Web 应用和后端服务,则此方法非常方便。
部署时,App Hosting 会将您的源代码上传到 Google Cloud Storage
存储分区,在 Cloud Build 中运行框架构建命令,并将最终工件部署到 Cloud Run 和 Cloud CDN。App Hosting 对本地源代码部署和
GitHub 部署使用相同的
构建流程。如果您的项目中有 .gitignore 文件,则该文件列出的文件和文件夹将从部署中排除。
如需从本地源代码部署应用,请执行以下操作:
- 在本地项目目录中运行
firebase init apphosting。 - 在提示符处,选择使用现有项目,然后选择 所选的 Firebase 项目。
选择要部署到的新后端或现有后端;此步骤会为您的本地目录设置 App Hosting 部署,并提示您输入 成功部署应用所需的App Hosting信息:
- 要部署到的后端的 ID
- 要部署到的区域(如果创建新后端)
- 应用代码根目录的路径
- 您首选的 Node.js 运行时。选择带版本号的运行时后, 自动基础映像更新 (ABIU) 会自动将安全补丁应用于底层环境。
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资源。
为 CI/CD 设置 GitHub 连接
您可以随时在 部署 标签页中连接 GitHub 代码库。Firebase这样,您就可以从本地环境部署应用原型,然后在准备就绪后过渡到自动 CI/CD 流水线。
使用 AI 工具进行部署
我们将于 2027 年 3 月 22 日弃用 Firebase Studio。 虽然您的 App Hosting后端不受影响,但发布按钮在 Firebase Studio中将被停用。如需继续发布更新而不更改网址,请迁移您的项目。 了解如何迁移。