跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

配置

最后更新 查看 MarkdownAgent 设置

Previews 不会继承生产设置。在配置文件的 previews 块中定义它们。有关绑定如何共享或隔离数据和状态,请参阅资源和隔离。

设置 Previews Base 配置

在团队分支来源的分支(例如 main)上定义起始 previews 块。Git 会将配置文件带入每个新分支。

当某个分支的 Preview 需要不同设置时,在该分支上更改 previews 块。运行 npx wrangler preview 时,Wrangler 将当前分支的配置文件作为真实来源。有关设置说明,请参阅快速入门。

main 分支上的 previews
变量APP_ENV = "preview"
变量API_URL = "api.staging.example.com"
绑定UPLOADS = preview-r2-bucket
feature/login
变量APP_ENV = "preview"
变量API_URL = "api.staging.example.com"
绑定UPLOADS = login-test-r2-bucket
变量DEBUG = "true"已添加
redesign
变量APP_ENV = "preview"
变量API_URL = "api.staging.example.com"
绑定UPLOADS = preview-r2-bucket
fix-api
变量APP_ENV = "preview"
变量API_URL = "api.dev.example.com"
绑定UPLOADS已移除

npx wrangler previewuses the configuration file on feature/login as the source of truth

密钥

密钥不能存储在 Wrangler 配置文件中。为了保留分支模型,而无需手动为每个 Preview 应用相同密钥,请在 Previews Base 配置中一次性设置共享密钥。每个新 Preview 创建时都会收到这些密钥。需要时为单个 Preview 设置不同的值。之后对 Base 密钥的更改仅应用于新 Preview,因此活动 Preview 保持不变。

如果省略 --name 标志,则默认为当前 git 分支。

Wrangler 配置文件

Wrangler 文件在顶层包含生产设置,在 previews 块中包含 Preview 设置。previews 块是必需的,但如果 Preview 不需要单独设置,它可以是空的。将 Preview 绑定指向预发布或测试资源,而不是生产资源。

{
  // ...
  "vars": {
    "ENVIRONMENT": "production"
  },
  "r2_buckets": [
    {
      "binding": "UPLOADS",
      "bucket_name": "prod-uploads"
    }
  ],
  // ...
  "previews": {
    // ...
    "vars": {
      "ENVIRONMENT": "preview"
    },
    "r2_buckets": [
      {
        "binding": "UPLOADS",
        "bucket_name": "r2-staging"
      }
    ]
    // ...
  }
}
[vars]
ENVIRONMENT = "production"

[[r2_buckets]]
binding = "UPLOADS"
bucket_name = "prod-uploads"

[previews.vars]
ENVIRONMENT = "preview"

[[previews.r2_buckets]]
binding = "UPLOADS"
bucket_name = "r2-staging"

如果 npx wrangler preview 创建了 Preview URL 但警告缺少绑定,则 URL 已上线但运行时配置不完整。将缺少的绑定复制到 previews 块中,使用对 Preview 安全的值和测试资源。有关资源共享行为,请参阅资源和隔离。

previews 块中应包含什么

使用此表确定每项设置的位置。

设置行为
仅顶层
assets即使有 ASSETS 绑定,也保留在顶层。npx wrangler preview 会从你正在预览的分支上传资源。
compatibility_date、compatibility_flags保留在顶层。
顶层或 previews 块
placement顶层 placement 适用于 Previews。添加 previews.placement 可覆盖它。
observability、logpush、limits仅当你需要 Preview 专用值时才添加到 previews。有关可观测性设置,请参阅测试和调试。
需要 previews 块
vars添加带 Preview 值的 previews.vars。
存储和数据绑定添加相同的绑定名称,指向对 Preview 安全的资源。例如:KV、D1、R2、Hyperdrive、Vectorize、Analytics Engine、Pipelines 和 Secrets Store。
D1 迁移在基础分支上配置共享预发布数据库。要隔离一个分支,请同时更新其 Preview 绑定和迁移配置以使用不同数据库。在部署该分支的 Preview 之前,将迁移应用到该分支使用的数据库。
Workflows添加指向现有 Workflow 的绑定。更改 Workflow 名称时,Previews 不会创建 Workflow。
Queue producers添加 previews.queues.producers,指向对 Preview 安全的队列。
define添加 previews.define。顶层值不会被继承。
tail_consumers添加 previews.tail_consumers。顶层 Tail Worker 目标不会被继承。
Durable Objects每个 Preview 会自动获得新的 Durable Object namespace 和存储。将类和迁移保留在顶层。仅当你的代码从 env 读取绑定时,才添加 previews.durable_objects.bindings。
Containers每个 Preview 会自动获得新的 container app 和 container instances。将迁移保留在顶层,并在 previews.containers 下添加容器定义。将生产容器定义保留在顶层 containers 中。仅当你的代码从 env 读取容器绑定时,才在 previews 下添加 Durable Object 绑定。
API 绑定如果你的代码从 env 读取绑定,请在 previews 下添加 ai、browser、images、stream、media、worker_loaders 或 version_metadata。不需要预发布资源。

如果 Worker 仅使用顶层设置,请包含一个空的 previews 块:

{
  // Set this to today's date
  "compatibility_date": "2026-11-14",
  "assets": {
    "directory": "./public"
  },
  "previews": {}
}
# Set this to today's date
compatibility_date = "2026-11-14"
previews = { }

[assets]
directory = "./public"

不要将 Queue consumers、Cron Triggers 或生产路由添加到 previews。这些不会以 Previews 为目标。有关 Preview 主机名,请参阅自定义域名。

来自 Preview 的 Service bindings 会调用绑定 Worker 的生产部署。更多限制请参阅限制。

仪表板配置

你可以在仪表板中配置 Previews Base 设置,但必须将生成的配置复制到 Wrangler 文件中。为避免这一额外步骤,请直接在 Wrangler 文件中配置 Preview 设置。

  1. 在 Cloudflare 仪表板中,前往 Workers & Pages。

    前往 Workers & Pages ↗
  2. 选择你的 Worker。

  3. 前往 Settings(设置)。Variables and secrets(变量和密钥)、Bindings(绑定)、Observability(可观测性) 和 Runtime(运行时) 部分具有 Production(生产) 和 Previews Base 切换。

    Settings 选项卡显示变量、密钥和绑定的 Production 与 Previews Base 切换
  4. 在每个部分选择 Previews Base,以配置新 Preview 的起始值。你可以从生产导入名称和值,然后编辑它们。必须手动重新输入密钥。

    显示从生产导入到 Previews 的变量和密钥的导入对话框
  5. 使用生成的 previews 配置更新 Wrangler 配置文件。这可保持未来部署同步。

    显示 Previews Base 绑定生成的 Wrangler 配置的仪表板

这篇文档对您有帮助吗?