部署到 DO App Platform
DigitalOcean 托管 PaaS,git push 部署、自动扩缩和托管 DB。
平台入门
为什么
App Platform 是 DO 对 Heroku/Render 的回应 — git push 部署、自动 HTTPS 和托管 Postgres/Redis。同等规格比 Heroku 便宜,集成 DO 生态。
平台即服务采用率 2024 年增长 24%,团队从虚拟机管理转向 git push 部署。the cloud infrastructure market reached $330B in 2024, growing 22% year-over-year (Synergy Research),PaaS 层捕获了大多数新工作负载。
何时使用
DO 上托管 PaaS 用 App Platform,尤其已用 DO 其他资源时。需完整 VM 控制避免 — 用 Droplet。
如何做
1. 创建 — cloud.digitalocean.com → 应用 → 创建 → 连接仓库
2. 构建 — 自动检测或指定构建/运行命令
3. 环境 — app spec 设环境变量
4. 数据库 — 组件 → 数据库 → PostgreSQL
5. 域名 — 设置 → 域名,自动 TLS
6. 扩缩 — 设置 → 实例大小和数量
7. App spec — .do/app.yaml 做 IaC
示例
# .do/app.yaml
name: myapp
services:
- name: web
source_dir: /
github: { repo: user/repo, branch: main }
run_command: npm start
environment_slug: node-js
instance_count: 2
instance_size_slug: basic-xxs
routes: [{ path: / }]
databases:
- name: db
engine: pg
version: "15"
常见问题
- ⚠构建命令未检测 — app spec 或面板指定
- ⚠数据库未链接 — 加数据库组件并在环境变量引用
- ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致
最佳实践
- ✓用 .do/app.yaml 做 IaC — 版本控制可复现部署
- ✓从 basic-xxs 开始,按需扩缩 — 按用付费
- ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求