Previews 是在生产前测试更改的推荐方式。
| 工作流 | 最适合 | 命令 |
|---|---|---|
| Previews | 同一 Worker 下为分支和拉取请求提供完整环境。 | npx wrangler preview |
| Version URLs | 使用生产资源的已上传代码版本。 | wrangler versions upload |
| Wrangler environments | 分别部署的 Worker。 | wrangler deploy --env <name> |
仅当你需要在将某个已上传版本部署到生产流量之前检查它时,才使用 Version URLs。
Version URLs 从 Worker 版本创建,包括使用 wrangler versions upload 上传的版本。它们与版本和部署工作流绑定。
Version URLs 适合以下场景:
- 在生产部署或渐进式部署之前检查某一个已上传版本。
- 围绕
wrangler versions upload和wrangler versions deploy构建的工作流。
如果你正在使用通过 wrangler versions upload --preview-alias 创建的带别名 Version URLs 进行分支或拉取请求预览,请改用 Previews。带别名的 Version URLs 不会创建分支隔离资源。
| 你现在的做法 | 改为这样做 |
|---|---|
wrangler versions upload --preview-alias staging |
npx wrangler preview --name staging |
| 分享带别名的 Version URL 供 PR 审查 | 分享 Preview URL 或自定义域名 Preview URL。 |
为带别名的 Version URLs 设置 preview_urls = true |
使用 Preview 设置 配置分支特定的变量、密钥和绑定(binding)。 |
Previews 提供分支隔离、Preview 专用设置、自定义域名支持,以及对 Durable Objects 和 Containers 的自动资源隔离。
Wrangler environments 会创建分别命名的 Worker,例如 my-worker-staging。当开发、预发布或其他环境需要具有不同设置、路由或自定义域名的持久 Worker 时使用它们。
你可以在 Wrangler environment 下创建分支 Previews。在 env.staging.previews 中定义其 Preview 设置:
{
"name": "my-worker",
"env": {
"dev": {
"name": "my-worker-dev",
"vars": {
"ENVIRONMENT": "development"
}
},
"staging": {
"name": "my-worker-staging",
"vars": {
"ENVIRONMENT": "staging"
},
"previews": {
"vars": {
"ENVIRONMENT": "staging-preview"
}
}
}
}
}name = "my-worker"
[env.dev]
name = "my-worker-dev"
[env.dev.vars]
ENVIRONMENT = "development"
[env.staging]
name = "my-worker-staging"
[env.staging.vars]
ENVIRONMENT = "staging"
[env.staging.previews.vars]
ENVIRONMENT = "staging-preview"在此示例中,dev 没有 previews 块,仍是持久的 Worker environment。staging 包含用于分支 Previews 的 previews 块。
然后在运行 Preview 命令时包含该 environment:
npx wrangler preview --env staging这会在 staging Worker 下创建或更新分支 Preview。Wrangler environment 提供持久边界,Previews 在其中提供分支隔离。