跳转到内容

Versions and deployments

一次部署:创建或复用 Worker → 编码不可变 bundle → 校验 runtime → 激活(promote)。部署状态位于本机 SQLite;ocd 监督当前 workerd 进程。所选 local instance 和显式 remote target 使用同一个固定上游 Wrangler wire path。

Terminal window
ocd wrangler --project examples/hello-worker deploy --env dev
# Worker is serving at http://127.0.0.1:8787/<path>
# Deployment: <deployment-id>

校验失败不会创建 deployment,也不会改变当前 active。激活前,exact Version 必须在当前 running workerd generation 中成功加载;validation 与 commit 之间 generation 改变会拒绝 deployment。deploy / rollback 只切换 active pointer,不修改已 ready Version 的 bytes。

每个 committed deployment 都有一份与不可变 bytes 分离的 mutable runtime assessment。能够精确归因的 unexpected workerd exit 会 quarantine 该 deployment,并原子回退到最近的旧 dispatchable deployment;并发歧义时不猜测 culprit。GET /client/v4/open-compute/system/status 提供 dispatchable/quarantined 数量与 active_runtime_dispatchable;runtime health component 不可用时后者为 false。support bundle 包含 deployment-runtime.json,发生 incident 后还包含 bounded、redacted 的 workerd-last-exit.json

主题 Cloudflare open-compute
版本不可变;发布切换 active 指针 是,见 Versions & deployments
回滚指向旧版本,而不是改字节
部署记录 Cloudflare 全球 rollout / placement / traffic-splitting 本机 SQLite;ocd 监督当前 workerd 进程
gradual deployments / version affinity / Cloudflare preview URL / Workers Builds CI 不提供
ocd wrangler local target 不适用 已验证的 local instance admin API
ocd wrangler --target Wrangler deploy 显式 HTTPS target;只有 loopback 可用 HTTP