# 部署决策

## 先选运行模型

| 目标 | 优先考虑 | 必须核对 |
| --- | --- | --- |
| Git 驱动、多区域（US/EU）运行、托管数据库 | Deno Deploy | 当前区域、配额、构建与运行时 API |
| 自定义系统包、Kubernetes、可移植镜像 | Docker | 镜像变体、信号、文件权限、健康检查 |
| 已有 VM/PaaS | 原生二进制或容器 | 平台是否安装 Deno、持久卷与网络策略 |
| 单文件 CLI | `deno compile` | 目标架构、动态资源、权限与原生依赖 |

## 平台无关契约

应用至少应明确：

- 入口和启动命令；
- 监听地址与 `PORT` 行为；
- 所需 Deno 权限；
- 环境变量名，不在镜像或日志中写密钥；
- `/health` 或平台等效健康信号；
- SIGTERM、超时、重试与幂等边界；
- 锁文件、Deno 版本与回滚产物。

<Callout type="warn" title="构建环境不等于请求运行时">
平台可以用 Deno 安装和构建，却在另一种隔离环境执行请求。部署前同时核对构建命令、请求运行时、Web/Node API 支持与持久化语义。
</Callout>

下一步：[Deno Deploy](/docs/deploy/deno-deploy)、[数据与 Cron](/docs/deploy/data-and-cron)、[Classic 迁移](/docs/deploy/classic-migration)、[Docker](/docs/deploy/docker) 或 [生产基线](/docs/deploy/production-baseline)。
