在大多数情况下,我们建议您使用 Firebase 控制台中的自动发布或手动触发的发布。不过,您可能需要使用更自定义的部署流程。App Hosting 提供了多种自定义部署选项。
使用 Firebase CLI 从源代码部署
借助 Firebase CLI,您可以直接从本地计算机将应用的源代码和配置推送到 Firebase。如果您有其他 Firebase 部署(例如安全规则或函数),并且希望通过一条 CLI 命令同时部署 Web 应用和后端服务,这非常方便。
在部署时,App Hosting 会将您的源代码上传到 Google Cloud Storage 存储分区,在 Cloud Build 中运行框架构建命令,并将最终工件部署到 Cloud Run 和 Cloud CDN。App Hosting 对本地源代码部署使用与 GitHub 部署相同的构建流程。
如需从本地源代码部署应用,请执行以下操作:
- 在本地项目目录中运行
firebase init apphosting
。 - 出现提示时,选择使用现有项目,然后选择所选的 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 中使用应用原型设计代理创建 Web 应用时,您可以直接从 Firebase Studio 发布或部署到 Firebase App Hosting。请参阅使用 App Hosting 发布应用。