[ PROMPT_NODE_25300 ]
Render 蓝图规范
[ SKILL_DOCUMENTATION ]
# Render 蓝图规范
render.yaml 蓝图文件的完整参考。蓝图将你的基础设施定义为代码,以便在 Render 上进行可重复的部署。
## 概述
蓝图是一个 YAML 文件(通常为 `render.yaml`),放置在仓库根目录下,描述了:
- 服务 (web, worker, cron, static, private)
- 数据库 (PostgreSQL, Redis)
- 环境变量和密钥
- 扩展和资源配置
- 项目组织
## 根级结构
yaml
# 顶级字段
services: [] # 服务定义数组
databases: [] # PostgreSQL 数据库数组
envVarGroups: [] # 可重用的环境变量组 (可选)
projects: [] # 项目组织 (可选)
ungrouped: [] # 项目之外的资源 (可选)
previews: # 预览环境配置 (可选)
generation: auto_preview | manual | none
## 服务类型
### Web 服务 (`type: web`)
HTTP 服务、API 和 Web 应用程序。可通过 HTTPS 公开访问。
**必需字段:**
- `name`: 唯一服务标识符
- `type`: 必须为 `web`
- `runtime`: 语言/环境 (见运行时部分)
- `buildCommand`: 构建应用程序的命令
- `startCommand`: 启动服务器的命令
**常见可选字段:**
- `plan`: 实例类型 (默认: `free`)
- `region`: 部署区域 (默认: `oregon`)
- `branch`: 要部署的 Git 分支 (默认: `main`)
- `autoDeploy`: 推送时自动部署 (默认: `true`)
- `envVars`: 环境变量数组
- `healthCheckPath`: 健康检查端点 (默认: `/`)
- `numInstances`: 实例数量 (手动扩展)
- `scaling`: 自动扩展配置
**示例:**
yaml
services:
- type: web
name: api-server
runtime: node
plan: free
buildCommand: npm ci
startCommand: npm start
branch: main
autoDeploy: true
envVars:
- key: NODE_ENV
value: production
- key: PORT
value: 10000
### Worker 服务 (`type: worker`)
后台作业处理器、队列消费者。不可公开访问。
**必需字段:**
- `name`: 唯一服务标识符
- `type`: 必须为 `worker`
- `runtime`: 语言/环境
- `buildCommand`: 构建命令
- `startCommand`: 启动 worker 进程的命令
**与 Web 服务的关键区别:**
- 没有公共 URL
- 没有健康检查
- 不需要端口绑定
**示例:**
yaml
services:
- type: worker
name: job-processor
runtime: pyt