运维部署
需要把应用部署到 Render 时:生成…
适用于用户要求部署、托管、发布或配置应用到 Render 云平台,并需要选择 Git/Docker 路径、生成 Blueprint 或直接创建服务。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要把应用部署到 Render 时:生成特定
解决思路
- 判断来源路径:Render 支持 Git-backed 服务和 prebuilt Docker image 服务;本技能覆盖 Git-backed 流程,包括 Blueprint 方法和 Direct Creation。
- Blueprint 方法:生成 render.yaml 进行 Infrastructure-as-Code 部署;Direct Creation:通过 MCP tools 即时创建服务。
- Blueprint 也可以用 runtime: image 运行 prebuilt Docker image,但 render.yaml 仍必须放在 Git 仓库中。
- 如果没有 Git remote,停止并让用户二选一:创建/推送 Git remote(若只需 Blueprint,可以是极简仓库),或使用 Render Dashboard/API 部署 prebuilt Docker image(MCP 不能创建 image-backed services)。
- 当 sandboxing 阻止部署网络调用时,用 sandbox_permissions=require_escalated 重跑。
- 部署可能耗时几分钟,使用合适的 timeout 值。
- 对新用户先走 Happy Path:询问想从 Git 仓库部署还是从 prebuilt Docker image 部署。
- 继续询问:Render 是否应按用户描述预置应用所需的一切,还是只部署应用而用户自带基础设施。
- 若依赖不明确,追问确认是否需要数据库、workers、cron 或其他服务。
- 选择 Git Repo Path:Blueprint 和 Direct Creation 都要求仓库已推送到 GitHub、GitLab 或 Bitbucket。
- 选择 Prebuilt Docker Image Path:Render 通过 image-backed services 支持,但 MCP 不支持,需用 Dashboard/API;询问 Image URL(registry + tag)、registry auth(如果私有)、服务类型(web/worker)和端口。
- 如果用户选择 Docker 镜像,引导其使用 Render Dashboard 镜像部署流程,或让其添加 Git remote,以便用 Blueprint 的 runtime: image。
- 在 Git Repo 下选择方法:两者都要求仓库已推送到 GitHub/GitLab/Bitbucket;若用 runtime: image,仓库可以极简且只包含 render.yaml。
- Blueprint 适合多服务应用、IaC 工作流;优点是版本控制、可复现、支持复杂设置。
- Direct Creation 适合单个服务、快速部署;优点是即时创建、不需要 render.yaml 文件。
- 默认使用方法选择启发式,除非用户指定方法;先分析代码库,仅在部署意图不明确(如 DB、workers、cron)时提问。
- 当以下全部为真时用 Direct Creation (MCP):单服务(一个 web app 或一个 static site)、无独立 worker/cron 服务、无附带 databases 或 Key Value、仅简单 env vars(无 shared env groups)。
- 如果该路径适合但 MCP 尚未配置,停止并在继续前引导 MCP setup。
- 当以下任一为真时用 Blueprint:多个服务(web + worker、API + frontend 等)、需要 databases/Redis/Key Value/其他 datastores、需要 cron jobs/background workers/private services、想要可复现 IaC 或提交 render.yaml 到仓库、monorepo 或多环境设置需要一致配置。
- 如果不确定,快速问澄清问题,但默认 Blueprint 更安全;对单服务,强烈优先 Direct Creation via MCP,必要时引导 MCP setup。
- 按顺序做 Prerequisites Check:先确认 Source Path(Git vs Docker)。
- 对 Git-based 方法(Blueprint 或 Direct Creation),运行 git remote -v 确认仓库已推送到 GitHub/GitLab/Bitbucket;引用 prebuilt image 的 Blueprint 仍要求 Git 仓库中有 render.yaml。
- 如果没有 remote,停止并让用户创建/推送 remote,或切换到 Docker image deploy。
- 检查 MCP Tools 可用性(单服务首选):尝试 list_services()。
- 如果 MCP tools 可用,大多数操作可跳过 CLI 安装。
- 检查 Render CLI 安装(用于 Blueprint 校验):运行 render --version。
- 如果 CLI 未安装,提供安装方式:macOS 用 brew install render;Linux/macOS 用 curl -fsSL https://raw.githubusercontent.com/render-oss/cli/main/bin/install.sh | sh。
- 如果 MCP 未配置,询问用户想设置 MCP(首选)还是继续用 CLI fallback。
- 如果用户选择 MCP,询问其使用的 AI 工具,并提供对应配置说明;始终使用用户的 API key。
- Cursor 配置:1) 从 https://dashboard.render.com/u/*/settings#api-keys 获取 Render API key;2) 在 ~/.cursor/mcp.json 添加 mcpServers.render,url 为 https://mcp.render.com/mcp,headers.Authorization 为 Bearer <YOUR_API_KEY>;3) 重启 Cursor 后重试 list_services()。
- Claude Code 配置:1) 从 https://dashboard.render.com/u/*/settings#api-keys 获取 Render API key;2) 运行 claude mcp add --transport http render https://mcp.render.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>";3) 重启 Claude Code 后重试 list_services()。
- Codex 配置:1) 从 https://dashboard.render.com/u/*/settings#api-keys 获取 Render API key;2) 在 shell 中运行 export RENDER_API_KEY="<YOUR_API_KEY>";3) 运行 codex mcp add render --url https://mcp.render.com/mcp --bearer-token-env-var RENDER_API_KEY;4) 重启 Codex 后重试 list_services()。
- 其他工具:引导用户查看 Render MCP 文档中对应工具的设置步骤和安装方法。
- MCP 配置后,让用户通过提示设置当前 Render workspace,例如:Set my Render workspace to [WORKSPACE_NAME]。
- 仅 CLI fallback 时检查认证:运行 render whoami -o json;如果失败或返回空,CLI 未认证;CLI 不总会自动提示,要显式提示用户认证。
- 如果两者都未配置,询问用户偏好:API Key (CLI):export RENDER_API_KEY="rnd_xxxxx"(从 https://dashboard.render.com/u/*/settings#api-keys 获取);或 Login:render login(打开浏览器做 OAuth)。
- 检查 Workspace Context:调用 get_selected_workspace(),或 CLI 运行 render workspace current -o json;用 list_workspaces() 列出可用 workspace。
- 如果用户需要切换 workspace,必须通过 Dashboard 或 CLI(render workspace set)进行。
- 前置条件满足后,进入部署工作流。
- Blueprint Step 1:分析代码库,确定 framework/runtime、build/start commands、required env vars、datastores 和 port binding;使用 references/codebase-analysis.md 的详细清单。
- Blueprint Step 2:按 Blueprint 规范创建 render.yaml;完整规范见 references/blueprint-spec.md。
- Blueprint 关键点:除非用户另有说明,始终使用 plan: free。
- Blueprint 关键点:包含应用需要的所有环境变量。
- Blueprint 关键点:用 sync: false 标记 secrets,用户在 Dashboard 中填写。
- Blueprint 关键点:使用合适的 service type:web、worker、cron、static 或 pserv。
- Blueprint 关键点:使用合适的 runtime,见 references/runtimes.md。
- 按基本结构生成 render.yaml:services 包含 type、name、runtime、plan、buildCommand、startCommand、envVars;envVars 可用 fromDatabase 引用数据库连接串,或用 sync: false 标记秘密;databases 包含 name、databaseName、plan。
- Service Types:web 是 HTTP 服务、API、web 应用(公开可访问)。
- Service Types:worker 是后台 job 处理器(不公开可访问)。
- Service Types:cron 是按 cron schedule 运行的定时任务。
- Service Types:static 是静态站点(HTML/CSS/JS 经 CDN 提供)。
- Service Types:pserv 是私有服务(仅同一 account 内部可用)。
- 查阅 service type 细节 references/service-types.md、runtime 选项 references/runtimes.md、模板示例 assets/。
- Blueprint Step 2.5:创建 render.yaml 后,始终给用户简短明确的 checklist,并在 CLI 可用时立即运行校验。
- Step 2.5 checklist 1:认证 CLI,运行 render whoami -o json;若未登录,运行 render login 或设置 RENDER_API_KEY。
- Step 2.5 checklist 2:推荐校验,运行 render blueprints validate;若 CLI 未安装,提供安装命令。
- Step 2.5 checklist 3:Commit + push,运行 git add render.yaml && git commit -m "Add Render deployment configuration" && git push origin main。
- Step 2.5 checklist 4:打开 Dashboard,使用 Blueprint deeplink,如提示则完成 Git OAuth。
- Step 2.5 checklist 5:填写 secrets,设置标记为 sync: false 的 env vars。
- Step 2.5 checklist 6:部署,点击 “Apply” 并监控部署。
- Blueprint Step 3:校验配置以在部署前捕获错误;若 CLI 已安装,直接运行 render whoami -o json(确保 CLI 已认证,不总会提示)和 render blueprints validate。
- 修复所有校验错误;常见问题:缺少必填字段(name、type、runtime)、runtime 值无效、YAML 语法错误、env var 引用无效。
- 查看配置指南 references/configuration-guide.md。
- Blueprint Step 4:IMPORTANT,部署前必须把 render.yaml 合并进仓库。
- 确保提交并推送到 Git remote:git add render.yaml;git commit -m "Add Render deployment configuration";git push origin main。
- 如果还没有 Git remote,停止并引导用户创建 GitHub/GitLab/Bitbucket 仓库,添加为 origin,并 push 后再继续。
- 原因:Dashboard deeplink 会从仓库读取 render.yaml;若文件未合并并推送,Render 找不到配置,部署会失败。
- 进入下一步前,确认文件已在 remote repository 中。
- Blueprint Step 5:运行 git remote get-url origin 获取 Git 仓库 URL。
- 如果 URL 是 SSH 格式,转换为 HTTPS:git@github.com:user/repo.git → https://github.com/user/repo;git@gitlab.com:user/repo.git → https://gitlab.com/user/repo;git@bitbucket.org:user/repo.git → https://bitbucket.org/user/repo。
- 转换模式:将 git@<host>: 替换为 https://<host>/,并移除 .git 后缀。
- 用 HTTPS 仓库 URL 格式化 Dashboard deeplink:https://dashboard.render.com/blueprint/new?repo=<REPOSITORY_URL>;例如 https://dashboard.render.com/blueprint/new?repo=https://github.com/username/repo-name。
- Blueprint Step 6:CRITICAL,确保用户在点击 deeplink 前已合并并推送 render.yaml 到仓库;若不在仓库中,Render 无法读取 Blueprint 配置,部署会失败。
- 向用户提供 deeplink,并让其:1) 验证 render.yaml 已合并,确认文件存在于 GitHub/GitLab/Bitbucket 仓库中;2) 点击 deeplink 打开 Render Dashboard;3) 如提示则完成 Git provider OAuth;4) 命名 Blueprint(或使用 render.yaml 中的默认值);5) 填写标记为 sync: false 的 secret env vars;6) 检查 services 和 databases 配置;7) 点击 “Apply” 部署。
- 部署会自动开始;用户可在 Render Dashboard 监控进度。
- Blueprint Step 7:用户通过 Dashboard 部署后,验证一切正常。
- 通过 MCP 检查部署状态:list_deploys(serviceId: "<service-id>", limit: 1);寻找 status: "live" 确认部署成功。
- 检查 runtime 错误(部署后等待 2-3 分钟):list_logs(resource: ["<service-id>"], level: ["error"], limit: 20)。
- 检查服务健康指标:get_metrics(resourceId: "<service-id>", metricTypes: ["http_request_count", "cpu_usage", "memory_usage"])。
- 如果发现错误,进入 Post-deploy verification and basic triage。
- Method 2 Direct Service Creation:用于简单部署、无需 IaC 时,通过 MCP tools 直接创建服务。
- Direct Creation 适用:单个 web service 或 static site;快速 prototypes 或 demos;不需要在 repo 中放 render.yaml;向已有项目添加 databases 或 cron jobs。
- Direct Creation 前置:仓库必须推送到 Git provider;Render 会 clone 仓库来 build 和 deploy;运行 git remote -v 验证 remote 存在,运行 git push origin main 确保代码已推送。
- 支持的 provider:GitHub、GitLab、Bitbucket。
- 如果没有 remote,停止并让用户创建/推送 remote,或切换到 Docker image deploy。
- 注意:MCP 不支持创建 image-backed services;prebuilt Docker image 部署要用 Dashboard/API。
- Direct Creation workflow:使用简洁步骤,完整 MCP 命令示例和后续配置见 references/direct-creation.md。
- Direct Creation Step 1:用 references/codebase-analysis.md 分析代码库,确定 runtime、build/start commands、env vars、datastores。
- Direct Creation Step 2:通过 MCP 创建资源,创建 service(web 或 static)以及所需 databases 或 key-value stores;见 references/direct-creation.md。
- 如果 MCP 返回缺少 Git credentials 或 repo access 的错误,停止并引导用户在 Render Dashboard 连接 Git provider,然后重试。
- Direct Creation Step 3:创建后通过 MCP 添加所需 env vars;见 references/direct-creation.md。
- 提醒用户:如果他们不想通过 MCP 传递 secrets,可以在 Dashboard 中设置。
- Direct Creation Step 4:验证部署,检查 deploy status、logs、metrics;见 references/direct-creation.md。
- 服务发现、配置细节、快速命令和常见问题见 references/deployment-details.md。
- Post-deploy verification and basic triage(所有方法):保持简短可重复;任一检查失败,先修复再重新部署。
- 1) 确认最新 deploy 为 live 并正在 serving traffic。
- 2) 访问 health endpoint(或 root),验证返回 200。
- 3) 扫描最近 error logs,寻找明确的 failure signature。
- 4) 验证所需 env vars 和 port binding(0.0.0.0:$PORT)。
- 详细 checklist 和命令见 references/post-deploy-checks.md。
- 如果服务启动失败或 health checks 超时,使用基本 triage 指南 references/troubleshooting-basics.md。
- Troubleshooting:若部署因网络问题失败(timeouts、DNS errors、connection resets),用 escalated permissions 重跑(sandbox_permissions=require_escalated);当 sandbox networking 阻止 outbound requests 时需要 escalated network access。
- 给用户的示例说明:The deploy needs escalated network access to deploy to Render. I can rerun the command with escalated permissions—want me to proceed?
- 可选:如果需要更深入诊断(metrics/DB checks/error catalog),建议安装 render-debug skill;它不是核心部署流程必需。
适用边界 · 注意事项
- 没有 Git remote 且不愿创建/推送 remote,也不使用 Render Dashboard/API 部署 prebuilt Docker image 时,不应走本技能的 Git-backed 流程。
- MCP 不可用时,不能通过 MCP 创建 image-backed service;必须改用 Render Dashboard/API。
- 仅适用于 Render 平台;若目标不是 Render,或没有 Render 账号/API key/MCP/CLI 且不准备配置,不适用。