Render Deploy Diff
Use this skill before deploy to compare required environment keys with what is currently configured on a Render service.
What this skill does
- - Resolves a target Render service by
RENDER_SERVICE_ID or INLINECODE1 - Reads required env keys from
REQUIRED_ENV_KEYS or local env template files - Fetches configured env keys from Render API
- Prints two drift sets:
- required but missing on Render
- present on Render but not required locally
- - Exits non-zero when required keys are missing on Render
Inputs
- -
RENDER_API_KEY (required unless using mock JSON) - one of:
-
RENDER_SERVICE_ID
-
RENDER_SERVICE_NAME
-
RENDER_API_BASE_URL (default
https://api.render.com/v1)
-
REQUIRED_ENV_KEYS (comma-separated explicit required keys)
-
REQUIRED_ENV_FILES (comma-separated files to parse, default
.env.example,.env.production)
-
RENDER_ENV_VARS_JSON_PATH (path to saved Render env-var API JSON for offline testing)
Run
CODEBLOCK0
With explicit required keys:
CODEBLOCK1
Offline test with saved API response:
CODEBLOCK2
Output contract
- - Prints service identity, required key count, remote key count, and drift summary
- Returns exit code
0 when all required keys exist on Render - Returns exit code
1 when required keys are missing or inputs are invalid
Render 部署差异检查
在部署前使用此技能,将所需环境变量键与 Render 服务当前配置的键进行比较。
此技能的功能
- - 通过 RENDERSERVICEID 或 RENDERSERVICENAME 解析目标 Render 服务
- 从 REQUIREDENVKEYS 或本地环境变量模板文件中读取所需的环境变量键
- 从 Render API 获取已配置的环境变量键
- 打印两组差异:
- 必需但 Render 上缺失的键
- Render 上存在但本地非必需的键
- - 当 Render 上缺少必需键时,以非零状态退出
输入参数
- - RENDERAPIKEY(除非使用模拟 JSON,否则为必填)
- 以下之一:
- RENDER
SERVICEID
- RENDER
SERVICENAME
- RENDER
APIBASE_URL(默认为 https://api.render.com/v1)
- REQUIRED
ENVKEYS(逗号分隔的显式必需键)
- REQUIRED
ENVFILES(逗号分隔的要解析的文件,默认为 .env.example,.env.production)
- RENDER
ENVVARS
JSONPATH(用于离线测试的已保存 Render 环境变量 API JSON 文件路径)
运行
bash
bash scripts/render-deploy-diff.sh
使用显式必需键:
bash
RENDERSERVICENAME=my-service \
REQUIREDENVKEYS=DATABASEURL,DIRECTURL,SHADOWDATABASEURL,NEXTPUBLICAPP_URL \
bash scripts/render-deploy-diff.sh
使用已保存的 API 响应进行离线测试:
bash
REQUIREDENVKEYS=DATABASEURL,NEXTPUBLICAPPURL \
RENDERENVVARSJSONPATH=./fixtures/render-env-vars.json \
bash scripts/render-deploy-diff.sh
输出约定
- - 打印服务标识、必需键数量、远程键数量以及差异摘要
- 当所有必需键在 Render 上存在时,返回退出码 0
- 当必需键缺失或输入无效时,返回退出码 1