图像与设计
需要从终端或 CI/CD 管理 Render 服务、部署…
当需要在终端或 CI/CD 中对 Render 进行部署、tail 日志、psql、SSH、Blueprint 验证、脚本化操作或安装 agent skills 时,使用 Render CLI。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要从终端或 CI/CD 管理 Rend特定
解决思路
- 通过 Homebrew 安装:执行 `brew update && brew install render`。
- 通过 Linux/macOS 脚本安装:执行 `curl -fsSL https://raw.githubusercontent.com/render-oss/cli/refs/heads/main/bin/install.sh | sh`。
- 直接下载安装:从 GitHub releases 下载,地址为 `https://github.com/render-oss/cli/releases/`。
- 从源码构建:执行 `git clone git@github.com:render-oss/cli.git && cd cli && go build -o render`。
- 安装后运行不带参数的 `render`,确认 CLI 可用。
- 本地交互认证:执行 `render login`,浏览器会生成 CLI token,token 保存到 `~/.render/cli.yaml`;token 会定期过期,提示时重新运行 `render login`。
- CI/CD 非交互认证:执行 `export RENDER_API_KEY=rnd_...`;API key 不会过期,可在 Dashboard 的 Account Settings > API Keys 生成;设置后 API key 优先于 CLI token。
- 设置活动 workspace:执行 `render workspace set`。
- 核心命令 `render login`:通过浏览器认证。
- 核心命令 `render workspace set`:设置活动 workspace。
- 核心命令 `render services`:列出所有服务和 datastore,使用 `-o json` 便于脚本处理。
- 核心命令 `render deploys create [SVC]`:触发部署,支持 `--wait`、`--commit SHA`、`--image URL`。
- 核心命令 `render deploys list [SVC]`:列出某个服务的部署,使用 `-o json`。
- 核心命令 `render logs -r [SVC]`:查看日志,使用 `--tail` 流式输出。
- 核心命令 `render psql [DB]`:打开 psql 会话,支持 `-c "SQL"`、`-o json`、`-- --csv`。
- 核心命令 `render ssh [SVC]`:SSH 到运行中的实例,使用 `--ephemeral` 或 `-e` 启动隔离 shell。
- 核心命令 `render blueprints validate`:验证 `render.yaml`,默认使用 `./render.yaml`。
- 核心命令 `render skills [install|update|list]`:管理 agent skills。
- 核心命令 `render workspaces`:列出 workspaces,使用 `-o json`。
- 非交互模式:CI/CD 和脚本中始终设置 `-o json`(或 `yaml`、`text`)以获得机器可读输出。
- 非交互模式:使用 `--confirm` 跳过确认提示。
- 输出格式优先级:`--output` flag > `RENDER_OUTPUT` 环境变量 > 自动检测(TTY → interactive,pipe → text)。
- 非交互示例:`export RENDER_OUTPUT=json`,然后执行 `render services --confirm`。
- 部署并等待完成:执行 `render deploys create srv-xxx --wait --confirm -o json`,部署失败时退出非零。
- 部署特定 commit:执行 `render deploys create srv-xxx --commit abc123 --wait --confirm`。
- 部署特定 Docker image:执行 `render deploys create srv-xxx --image ghcr.io/org/app:v1.2.3 --wait --confirm`。
- 数据库单查询并以 JSON 输出:执行 `render psql db-xxx -c "SELECT NOW();" -o json`。
- 数据库 CSV 输出:执行 `render psql db-xxx -c "SELECT id, email FROM users;" -o text -- --csv`,通过 psql passthrough 获得 CSV。
- GitHub Actions CI/CD 示例:workflow 名为 `Deploy to Render`,触发条件 `on.push.branches: [main]`,job `deploy` 使用 `runs-on: ubuntu-latest`。
- GitHub Actions 安装 Render CLI 步骤:执行 `curl -L https://github.com/render-oss/cli/releases/download/v1.1.0/cli_1.1.0_linux_amd64.zip -o render.zip`、`unzip render.zip`、`sudo mv cli_v1.1.0 /usr/local/bin/render`。
- GitHub Actions 部署步骤:设置 `RENDER_API_KEY: ${{ secrets.RENDER_API_KEY }}`,执行 `render deploys create ${{ secrets.RENDER_SERVICE_ID }} --wait --confirm -o json`。
- 在 CI 中固定到特定 CLI 版本,以避免破坏性变更。
- 本地配置:配置文件为 `~/.render/cli.yaml`。
- 本地配置覆盖:使用 `RENDER_CLI_CONFIG_PATH` 环境变量覆盖配置路径。
- 常见错误修复:Token expired 时重新执行 `render login`。
- 常见错误修复:Wrong workspace 时执行 `render workspace set` 切换。
- 常见错误修复:CI 中缺少 `--confirm` 时,添加 `--confirm` 跳过交互提示。
- 常见错误修复:CI 中使用 `--output interactive` 时,在非 TTY 环境改用 `-o json` 或 `-o text`。
- 常见错误修复:CI 中部署未加 `--wait` 时,添加 `--wait`,让 job 在部署失败时失败。
- 参考文档:`references/command-cheatsheet.md` 包含完整命令列表、flags、输出示例和脚本模式。
- 相关技能:`render-deploy` 覆盖端到端部署流程、MCP 操作、Dashboard deeplinks。
- 相关技能:`render-blueprints` 覆盖 `render.yaml` 编写和验证。
- 相关技能:`render-postgres` 覆盖数据库连接、`render psql` 使用。
- 相关技能:`render-debug` 覆盖使用 `render logs` 和 `render ssh` 排错。
适用边界 · 注意事项
- 不使用 Render 平台,或没有需要管理的 Render 服务、数据库、Blueprint 时,不适用。
- 无法创建或获取 `RENDER_API_KEY`,且不能完成浏览器 `render login` 时,无法完成非交互/CI/CD 自动化认证。
- 只需在 Dashboard 做一次性手动操作、不需要终端脚本或 CI/CD 集成时,CLI 可能不必要。