连接到 git 仓库后,Pages 允许你控制要自动部署到哪些环境和 branch。默认情况下,Pages 会在你向生产或预览环境提交时触发部署。但是,通过分支部署控制,你可以按项目配置自动部署行为。
要配置部署选项,请前往 Pages 项目 > Settings(设置) > Builds & deployments > Configure Production deployments。Pages 默认将生产环境设置为首次推送的 branch,但你也可以选择其他 branch 作为生产 branch。
你还可以通过勾选 Enable automatic production branch deployments 框来启用或禁用生产 branch 上的自动部署行为。必须保存设置,新的生产 branch 控制才会生效。
配置自动预览部署时,有三个选项:
- All non-Production branches:默认情况下,Pages 会自动部署预览 branch 上的每次提交。
- None:关闭所有预览 branch 的自动构建。
- Custom branches(自定义分支):自定义某些预览 branch 的自动部署。
选择 Custom branches(自定义分支) 后,可以在提供的配置字段中指定要包含或排除在自动部署之外的 branch。配置字段有两种填写方式:
- 静态 branch 名称:输入要包含或排除的 branch 的精确名称(例如 staging 或 dev)。
- 通配符语法:使用通配符匹配多个 branch。可以在规则开头或结尾指定通配符。配置的执行顺序为 (1) Excludes、(2) Includes、(3) Skip。Pages 先处理 exclude 配置,再处理 include 配置。如果 branch 两者都不匹配,则跳过。
示例 1:
如果要使用通配符语法强制 branch 前缀(如 fix/、feat/ 或 chore/),可以使用以下规则包含和排除某些 branch:
-
Include Preview branches:
fix/*,feat/*,chore/* -
Exclude Preview branches: ``
此处 Pages 将包含具有指定前缀的所有 branch 并排除其他所有 branch。此示例中,exclude 选项留空。
示例 2:
如果要阻止 dependabot ↗ 为其创建的每个 PR 生成部署,可以使用以下规则排除这些 branch:
-
Include Preview branches:
* -
Exclude Preview branches:
dependabot/*
此处 Pages 将包含所有 branch,但排除任何以 dependabot 开头的 branch。此示例中,exclude 选项意味着任何 dependabot/ branch 都不会被构建。
示例 3:
如果只想部署 release 前缀的 branch,可以使用以下规则:
-
Include Preview branches:
release/* -
Exclude Preview branches:
*
这将仅部署以 release/ 开头的 branch。