管理发布和版本

如果您启用了自动发布,则每次向 GitHub 代码库中的 正式版分支推送新提交时,App Hosting都会自动发布应用的新版本。您可以在 Firebase控制台或 App Hosting GitHub 检查中查看发布状态。

此外,App Hosting 还支持手动触发发布,以便与 CI/CD 集成,或在您想要强制发布时使用。

查看发布

您可以在 Firebase 控制台中查看有关应用的所有 发布的详细信息。

依次前往 托管和无服务器> App Hosting, 然后选择要查看其发布的后端对应的查看。该后端的发布 标签页会显示一个表格,其中列出了此后端的所有发布历史记录。

每个发布条目都包含指向 Cloud Build 作业以及 触发发布的更改或提交的链接,以及有关发布作者、创建日期和状态的基本信息 。

  • Cloud Build 作业是 App Hosting 在其中运行 应用构建命令的构建环境。您可以点击构建 ID 来访问 Cloud Build 日志。
  • 更改 是触发发布的 GitHub 提交或其他操作。

手动触发发布

如果您想从 GitHub 来源手动触发发布,而无需 推送新提交,则可以通过 Firebase 控制台或 Firebase CLI 创建发布。这对于以下情况非常有用:

  • 强制重新生成静态内容。
  • 允许 CI/CD 系统触发发布。
  • 将正式版发布限制为特定日期或时间。

如需在 Firebase 控制台中触发发布,请执行以下操作:

  1. Firebase 控制台中,依次前往 托管和无服务器 > App Hosting
  2. 点击要为其创建发布的后端对应的查看
  3. 在后端信息中心摘要中,选择创建发布
  4. 选择要部署的分支。
  5. 选择要部署的提交,可以是最新提交,也可以是之前由其提交 ID 指定的提交。
  6. 选择创建 。发布历史记录表格中会显示发布的状态和 build 号。发布过程完成后,此发布会显示为当前发布。

如需在 Firebase CLI 中触发发布,请运行以下命令,并在系统提示时选择要发布的相应分支:

firebase apphosting:rollouts:create BACKEND_ID

或者,您也可以使用 --git-branch 选项为特定分支的最新提交启动发布:

firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME

您还可以使用 --git-commit 选项创建包含特定提交的发布:

firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID

恢复之前的发布

App Hosting 为您提供了两种恢复之前发布的方式:

  • 无需重新构建即可即时回滚
  • 重新构建并回滚到之前的版本

创建即时回滚

有时,您可能需要快速恢复到应用的旧版本,例如,如果您在新部署的发布中发现严重 bug,或者遇到导致新发布受阻的不稳定 build。在这种情况下,您可以从之前的发布中恢复所选的现有容器映像。此映像不会重新构建,而是使用首次构建时的代码和环境配置。

如需创建即时回滚,请执行以下操作:

  1. Firebase 控制台中,依次前往 托管和无服务器 > App Hosting
  2. 点击要为其创建回滚的后端对应的查看
  3. 选择发布 标签页。
  4. 在该后端的历史记录 表格中,选择之前 build 对应的三点状菜单。
  5. 选择回滚到此 build 并确认。

重新构建并回滚

如果您想恢复到应用的旧版本,但仍保留当前配置,则可以在回滚过程中重新构建应用。例如,如果最新版本更新了 Secret Manager 中的 API 密钥值,则重新构建可以确保在回滚后,应用中使用的是新密钥。

如需重新构建并回滚,请执行以下操作:

  1. Firebase 控制台中,依次前往 托管和无服务器 > App Hosting
  2. 点击要为其创建回滚的后端对应的查看信息中心
  3. 选择发布 标签页。
  4. 选择创建发布
  5. 创建发布 对话框中,选择之前的提交 ,然后输入要重新构建并回滚到的版本的提交 ID。提交 ID 是发布历史记录 中列出的每个发布的“更改详情”的一部分,包含在标签中的括号内。
  6. 选择创建 以开始回滚。

更改发布设置

您可以使用后端信息中心的设置 > 部署 视图中的控件更改发布的正式版分支,以及停用或启用自动发布。

  1. Firebase 控制台中,依次前往 托管和无服务器 > App Hosting
  2. 点击要更新发布设置的后端对应的查看
  3. 在后端信息中心内,选择设置 。默认视图会显示有关网域和自定义网域的信息。
  4. 选择部署 视图。在此视图中,您可以更改发布的正式版分支,以及停用或启用自动发布。此外, 您还可以设置应用根目录和 后端的环境(请参阅 部署到多个环境)。

管理自动发布

默认情况下,App Hosting 会假定一个包含 所有 文件的“必需”列表,这意味着 对代码库的每个新提交都会触发新的 build 和发布。不过, 为了节省时间并防止不必要的部署,您可以将 App Hosting 配置为根据提交中修改的特定文件路径跳过 build。

您可以在设置 > 发布 > 发布触发器 下配置此设置。在这里,如果您希望对代码库的每个新提交都触发新的 build 和发布,则可以将必需路径 留空;或者,您可以准确指定应始终触发发布的目录或文件。如果您指定了目录,请务必添加 所有 更改应触发发布的路径。

您添加到被忽略的路径 中的目录或文件永远不会触发自动发布。如果一个子目录同时被包含在必需列表和被忽略的列表中,则 不会触发 自动发布。如果您 仅填充了被忽略的路径列表,App Hosting 会自动为 必需路径填充“*”。

本页中介绍的界面的屏幕截图。

如果您推送的提交中没有任何更改的文件与必需路径匹配 (或者所有更改都被被忽略的路径明确排除), App Hosting仍会确认收到 GitHub 事件,但会 将 build 和发布状态标记为 SKIPPED,并且不会触发自动发布。