render-deploy:分析代码库、生成 Blueprint,把应用部署到 Render

前言

把本地项目推到云上,往往要反复确认运行时、构建命令、环境变量和数据库依赖。Render 用 Git 仓库驱动服务,并用 render.yaml(Blueprint)描述整套基础设施;单服务也可以走 Dashboard 或 MCP 直接创建。手写这些配置不难,但容易漏字段、漏密钥标记,或者忘了先把配置推到远端。

render-deploy 是一套面向 AI 编程助手的 Agent Skill:它按固定流程分析代码库,生成或校验 Blueprint,必要时走 MCP 直接建服务,并给出 Render Dashboard 深链接,帮你把「能跑」落到「已部署」。它和面向 Vercel、Cloudflare 的部署类 Skill 形成互补,覆盖 Render 平台上的完整部署路径。

这是什么

render-deploy 收录在 OpenAI 的 openai/skills 仓库 skills/.curated/ 目录下,采用通用的 SKILL.md 格式,可在 Cursor、Codex CLI、Claude Code 等支持 Agent Skills 的工具中使用。

官方一句话定位:通过分析代码库、生成 render.yaml Blueprint,并提供 Dashboard 深链接,把应用部署到 Render 云平台。用户提到部署、托管、发布或在 Render 上搭建应用时,就适合启用它。

同一套能力在 Render 官方 Skills 目录 render-oss/skills 中也有维护;Render 文档里推荐用 Cursor 插件或 npx skills add render-oss/skills 安装整套 Render Skills。下文以 openai/skills 中的 curated 版本为主说明,流程与核心命令与官方版一致。

核心功能与亮点

Skill 明确覆盖 Git 驱动 的两条部署路径:

  1. Blueprint 方法:分析仓库后生成 render.yaml,用基础设施即代码描述 Web、Worker、Cron、静态站、私有服务以及数据库等资源;校验、提交推送后,用 Dashboard 深链接打开 Blueprint 创建页完成 Apply。
  2. Direct Creation(MCP):适合单服务、无独立 Worker/Cron、无挂载数据库/Key Value、环境变量较简单的场景;通过 Render MCP 工具直接创建服务,不必先落盘 render.yaml

选择启发式大致是:条件都满足用 Direct Creation;只要出现多服务、数据库、定时任务、后台 Worker、私有服务,或需要可复现的 IaC,就走 Blueprint。拿不准时默认 Blueprint 更稳妥。

其他已核实的要点:

  • Blueprint 可用 runtime: image 引用预构建镜像,但 render.yaml 仍须放在 Git 仓库里。
  • MCP 不能创建纯镜像服务;镜像部署需走 Dashboard/API,或改为带 Blueprint 的 Git 方案。
  • 无 Git remote 时会停下来,要求先推远端,或改用 Dashboard/API 做镜像部署。
  • 默认 plan: free;密钥类环境变量用 sync: false,由用户在 Dashboard 填写。
  • 部署后可通过 MCP 查 list_deployslist_logsget_metrics 做基础验收;更深排查可配合 render-debug Skill。

安装与启用

安装 Skill

通用 Skills CLI(vercel-labs/skills,skills.sh)可按名称安装 curated Skill:

npx skills add https://github.com/openai/skills --skill render-deploy

也可指定具体 Agent,例如:

npx skills add openai/skills --skill render-deploy --agent cursor
npx skills add openai/skills --skill render-deploy --agent claude-code
npx skills add openai/skills --skill render-deploy --agent codex

在 Codex 中,也可用仓库说明里的 $skill-installer,按 curated 名称安装:

$skill-installer render-deploy

安装后按所用工具要求重启或刷新,以便加载新 Skill。

若希望直接使用 Render 官方目录(含 render-deploy 及 debug、blueprints 等配套 Skill),Render 文档给出的 Cursor 优先路径是聊天中执行 /add-plugin render,或:

npx skills add render-oss/skills

配置 Render MCP(单服务直连推荐)

Direct Creation 依赖 Render MCP。Skill 要求先能调用 list_services();失败则引导配置 MCP。API Key 来自:

https://dashboard.render.com/u/*/settings#api-keys

Cursor:写入 ~/.cursor/mcp.json

{
  "mcpServers": {
    "render": {
      "url": "https://mcp.render.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}

重启 Cursor 后重试 list_services()

Claude Code

claude mcp add --transport http render https://mcp.render.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>"

Codex

export RENDER_API_KEY="<YOUR_API_KEY>"
codex mcp add render --url https://mcp.render.com/mcp --bearer-token-env-var RENDER_API_KEY

配置完成后,用自然语言设定工作区,例如:Set my Render workspace to [WORKSPACE_NAME]。多工作区时也可通过 MCP 的 list_workspaces() / get_selected_workspace(),或 CLI 的 render workspace current / render workspace set 确认。

Render CLI(Blueprint 校验)

render --version

未安装时可:

# macOS
brew install render

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/render-oss/cli/main/bin/install.sh | sh

登录或鉴权:

render whoami -o json
# 或
export RENDER_API_KEY="rnd_xxxxx"
# 或
render login

典型用法

1. 自然语言触发

在已安装 Skill 的对话里直接说需求即可,例如:

把这个项目部署到 Render,先给我看 Blueprint,再给 Dashboard 链接。

或:

这是一个单服务 Node 应用,用 MCP 直接创建到 Render。

Agent 会先确认 Git 仓库还是预构建镜像、是否需要数据库/Worker/Cron 等,再选 Blueprint 或 Direct Creation。

2. Blueprint 主流程(多服务 / IaC)

分析代码库:识别框架与 runtime、build/start 命令、环境变量、数据存储、端口绑定(Web 服务需监听 0.0.0.0:$PORT)。

生成 render.yaml 示例(来自 Skill 文档的基本结构):

services:
  - type: web
    name: my-app
    runtime: node
    plan: free
    buildCommand: npm ci
    startCommand: npm start
    envVars:
      - key: DATABASE_URL
        fromDatabase:
          name: postgres
          property: connectionString
      - key: JWT_SECRET
        sync: false  # 用户在 Dashboard 填写

databases:
  - name: postgres
    databaseName: myapp_db
    plan: free

服务类型包括:web(对外 HTTP)、worker(后台任务)、cron(定时)、static(静态站/CDN)、pserv(账号内私有服务)。

校验

render whoami -o json
render blueprints validate

提交并推送(深链接会从远端仓库读取 Blueprint,未推送会失败):

git add render.yaml
git commit -m "Add Render deployment configuration"
git push origin main

生成 Dashboard 深链接:先取 HTTPS 形式的仓库地址(SSH 需转换,并去掉 .git 后缀):

git remote get-url origin

深链接格式:

https://dashboard.render.com/blueprint/new?repo=<REPOSITORY_URL>

例如:

https://dashboard.render.com/blueprint/new?repo=https://github.com/username/repo-name

随后在 Dashboard 完成 Git OAuth、填写 sync: false 的密钥、检查资源配置并点击 Apply。部署可能需要几分钟;若沙箱拦截外网,Skill 会提示用更高权限(如 sandbox_permissions=require_escalated)重试相关网络调用。

3. Direct Creation(单服务)

前提仍是代码已推到 GitHub / GitLab / Bitbucket。Agent 分析 runtime 与命令后,用 MCP 创建 Web 或静态站点及必要资源,再配置环境变量,并用部署状态、日志、指标做验收。镜像类服务不走这条路。

适用场景与注意事项

适合:

  • 已有或准备推到 GitHub/GitLab/Bitbucket 的应用,要上 Render。
  • 需要 Web + Worker + Cron + 数据库等组合,希望用 render.yaml 版本化管理。
  • 单服务快速试用,且已配置好 Render MCP。
  • 希望 AI 按检查清单补齐端口、密钥标记、Blueprint 校验和部署后日志核对。

注意:

  • 没有 Git remote 时 Blueprint / MCP Git 流程无法继续,需先建远端或改走镜像 Dashboard/API。
  • 深链接前必须确认 render.yaml 已在远端仓库中,否则 Render 读不到配置。
  • MCP 不支持创建 image-backed 服务。
  • 密钥不要写进 YAML 明文,用 sync: false 或 Dashboard/MCP 注入。
  • Web 服务需正确绑定 0.0.0.0:$PORT;健康检查失败时先查环境变量与端口。
  • openai/skills 仓库 README 已标注整体迁移方向(示例与插件以 OpenAI Plugins 等文档为准);日常使用可同时参考 Render 的 Cursor 集成说明render-oss/skills

小结

render-deploy 把 Render 部署拆成可重复的 Agent 流程:分析仓库 → 选择 Blueprint 或 MCP 直连 → 生成/校验配置 → 推送 → Dashboard 深链接或 MCP 创建 → 日志与指标验收。对习惯 Render、又希望在编辑器里由 AI 把 IaC 和发布步骤串起来的开发者,它补齐了与 Vercel、Cloudflare 部署 Skill 对应的那一块。

官方地址(OpenAI curated):

https://github.com/openai/skills/tree/main/skills/.curated/render-deploy

Render 官方 Skills 目录中的同名 Skill:

https://github.com/render-oss/skills/blob/main/skills/render-deploy/SKILL.md

Blueprint 规范可参考 Render 文档:

https://render.com/docs/blueprint-spec

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜