推出 Worker Previews:为你的智能体所做的每一次更改提供隔离的预览环境

💡 原文英文,约2500词,阅读约需9分钟。
📝

内容提要

Cloudflare推出Worker Previews,为每个Git分支提供类生产隔离预览环境,包含独立配置、URL、状态和可观测性。开发者可通过wrangler preview部署,隔离Durable Objects和容器,测试后再合并,避免影响生产。

🔎

延伸解读

与旧版预览 URL 的关键区别

文章指出,Workers 此前已有预览 URL,但那些 URL 指向特定上传的 Worker 版本,且只能指向生产资源,无法为每个分支创建隔离环境。Worker Previews 则不同:每个 Git 分支拥有独立的代码、配置、URL、状态和可观测性,且能隔离 Durable Objects 和容器。这意味着开发者可以在不干扰生产的情况下测试有状态变更,而旧版预览 URL 无法做到这一点。

对智能体开发流程的实际影响

Worker Previews 支持智能体在隔离环境中自主完成部署、测试、修复和验证的闭环。智能体可以通过无头浏览器打开预览 URL,逐步点击登录流程,截图或录制会话,并结合 Workers Observability 追踪请求生命周期。这使智能体能在合并到生产前发现并修复问题,减少人工干预,同时保持每次迭代都限定在分支范围内。

当前限制与未来方向

文章明确列出了 Worker Previews 目前的限制:服务绑定仍会调用生产部署,Queue 消费者和 Workflows 无法在预览中运行,且长期存活的预览环境(如 staging 或 QA)尚未得到完整支持。Cloudflare 表示正在开发多 Worker 应用预览、在预览中运行 Queue 消费者和 Workflows,以及支持长期预览环境。读者在采用时需注意这些边界,避免误以为所有异步流程都已隔离。

Q&A

Worker Previews 是什么?它解决了什么问题?

Worker Previews 是 Cloudflare 推出的功能,为每个 Git 分支提供类似生产环境的隔离预览环境,包含独立的代码、配置、URL、可观测性和状态。它解决了在 staging 测试通过但生产环境行为不同的问题,让开发者能在合并前充分测试更改,避免影响生产。

如何部署一个 Worker Preview?

可以通过运行 npx wrangler preview 命令部署,每个分支会获得独立的预览环境。如果 Worker 通过 Workers Builds 与 Git 连接,推送代码时会自动创建 Preview。

Worker Previews 如何隔离 Durable Objects 和容器?

每次运行 npx wrangler preview 时,Cloudflare 会自动为该 Preview 创建新的 Durable Object 命名空间和容器应用,确保状态更改、会话、内存、迁移和并发测试都限制在该 Preview 内,不会影响生产或其他 Preview。

Worker Previews 的可观测性功能有哪些?

每个 Preview 都有独立的 Workers Observability,可以查看日志、错误、指标和追踪。请求的完整生命周期会以瀑布图形式展示,包括 fetch 调用、绑定操作和处理程序调用,帮助定位问题而不受生产流量干扰。

如何配置 Worker Previews 的基础配置和覆盖?

在 Wrangler 配置文件中通过 previews 块设置基础配置,包括变量、密钥、绑定等。每个 Preview 会从基础配置开始,但可以单独覆盖任何设置,例如指向自己的数据库或测试 API 密钥,而不影响生产、基础配置或其他 Preview。

Worker Previews 支持自定义域名吗?如何保护预览 URL?

支持。预览 URL 可以部署在自定义域名上,例如 feature-login.previews.example.com,使认证提供商、Cookie、CORS 和 OAuth 重定向与生产环境一致。可以使用 Cloudflare Access 保护预览 URL,要求访问者先登录。

Worker Previews 与之前的 Version URLs 有什么区别?

Version URLs 指向特定上传的 Worker 版本,不创建每个分支的隔离环境,且只能指向生产资源。Worker Previews 为每个分支创建隔离环境,拥有独立的配置、状态和可观测性,更接近生产环境。

Worker Previews 的未来计划有哪些?

未来计划包括:支持多 Worker 应用的预览,使服务绑定调用匹配的 Preview;在 Preview 内运行 Queue 消费者和 Workflows;支持长期存活的 Preview 用于 staging 和 QA 环境。

🏷️

标签

➡️

继续阅读