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

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

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

小夜