管理发布和版本

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

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

查看发布作业

通过 Firebase 控制台,您可以访问有关应用所有发布版本的详细信息。

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

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

  • Cloud Build 作业是 App Hosting 运行应用的构建命令的构建环境。您可以通过点击 build 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. 在后端的历史记录表中,选择之前构建的三点状菜单。
  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 假定“必需”列表包含所有文件,这意味着对代码库的每次新提交都会触发新的构建和发布。不过,为了节省时间并防止不必要的部署,您可以将 App Hosting 配置为根据提交中修改的特定文件路径跳过构建。

您可以在设置 > 发布 > 发布触发器下进行配置。在这里,如果您希望对代码库的每次新提交都触发新的构建和发布,可以将必需路径留空,也可以指定哪些目录或文件应始终触发发布。如果您指定了目录,请务必添加所有应触发发布操作的更改路径。

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

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

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