Deno Deploy
将仓库连接到 Deno Deploy,并验证构建、环境变量、数据与可观测性边界
Deno Deploy 是 Deno 的托管部署平台,也支持把 region 自托管到自己的基础设施。新平台控制台位于 console.deno.com,数据模型是 organization → app → revision → timeline;它不是旧 Deploy Classic 的原地升级。
创建与部署
可以连接 GitHub 让平台执行集成构建,也可以使用 Deno 内置 CLI:
deno deploy
deno deploy --prod
deno deploy logs --org my-org --app my-app
首次命令会通过系统 keyring 管理认证。自动化环境使用平台认可的 token 流程,不把 deploy token 写进命令历史。
| 新平台能力 | 截至 2026-08-03 的官方说明 |
|---|---|
| 环境 | Production、Development、Build contexts 分离 |
| 数据 | PostgreSQL 或 Deno KV,按 timeline 创建逻辑隔离 |
| 调度 | Deno.cron(),运行记录进入日志与 traces |
| 可观测性 | dashboard 提供 logs、traces 与 metrics |
| 缓存 | CDN caching 与 Web Cache API |
| 区域 | 托管 US/EU,另可自托管 region;发布前核对最新列表 |
| Queue | 新 Deploy 当前不支持旧 Deno KV Queue API |
发布前准备
- 服务通过
Deno.serve或所选框架公开 HTTP 入口。 deno.json中有可复现的 install/build/start 约定。deno.lock已提交,CI 已通过。- 密钥只声明变量名,不写入仓库。
- 对 KV、数据库、cron 等能力分别确认一致性与配额;使用 queue 的 Classic 项目先设计替代方案。
上线验证
GET /health → 200 + 稳定小响应
无密钥请求 → 明确失败,不泄露配置
超时或取消 → 中止上游请求
重复写入 → 幂等或可检测
回滚 → 前一产物可以重新激活
检查构建日志与请求日志是否含 token、Authorization header 或用户输入。对外部 API 使用超时;对可重试写入使用幂等键。
Revision 与回滚
每个 timeline 维护 revision 历史,active revision 承接流量。发布前验证非生产 timeline,再切换生产;回滚是重新激活上一 revision,不等于自动回滚数据库 migration。
Deno KV
Deno.openKv() 在本地与托管环境的后端和持久化语义不同。键使用结构化数组;事务依赖 versionstamp。开发测试优先使用内存或隔离数据库,生产前核对当前 Deploy 配额和一致性说明。
继续阅读:数据库、Cron 与 Timelines 和 Classic 迁移。