关于 zeabur-variables
zeabur-variables 是管理 Zeabur 服务环境变量的技能,面向需要通过 Zeabur CLI 维护配置的用户。它说明创建、更新、删除、查看及从 .env 导入变量的操作,并强调导入会替换整组变量及引用值的 CLI 限制。
主要功能
- 01创建、更新和删除变量
- 02查看服务变量
- 03从 .env 导入变量
- 04说明变量引用的限制
适用场景
- 01为 Zeabur 服务添加或修改配置
- 02清理指定的环境变量
- 03查看当前服务变量
- 04从 .env 文件替换变量集
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zeabur/ agent-skills --skill zeabur-variables安装后在 Claude Code 中输入/zeabur-variables确认已加载。
详细介绍
Zeabur 变量管理
始终使用
npx zeabur@latest调用 Zeabur CLI。 切勿直接使用zeabur或通过其他方式安装。如果无法使用npx,请先安装 Node.js。不要猜测 CLI 语法。 只有
create、update、delete、env和list是有效的子命令。set或add等子命令并不存在,使用时会无错误输出地静默失败。
已知问题
- 使用
--id而非--name——按名称查找不可靠 ${VAR}会变为空 ——Shell 会在 CLI 接收前展开变量;请使用单引号variable env会替换所有变量 ——它会用 .env 文件内容覆盖整个变量集;文件中未列出的现有变量会被移除
创建变量
创建新变量。如果键已存在,则会报错——请使用 update 修改现有键。
# Always use service ID — use the `zeabur-service-list` skill to get it
npx zeabur@latest variable create --id <service-id> \
-k "KEY1=value1" \
-k "KEY2=value2" \
-y -i=false
更新变量
仅更新指定的键。不会清除其他变量。
npx zeabur@latest variable update --id <service-id> \
-k "KEY1=new_value1" \
-k "KEY2=new_value2" \
-y -i=false
删除变量
仅删除指定的键。
npx zeabur@latest variable delete --id <service-id> \
--delete-keys "KEY1" \
--delete-keys "KEY2" \
-y -i=false
列出变量
npx zeabur@latest variable list --id <service-id> -i=false
从 .env 文件加载
警告: 这会用 .env 文件的内容替换服务上的所有变量。文件中未列出的现有变量会被移除。
npx zeabur@latest variable env --id <service-id> -f .env
运行 env 后,必须手动重启服务以应用更改。
变量引用
警告: CLI 的
-k标志使用 Cobra 的StringToStringVar解析器,无法可靠处理包含${}的值,即使使用单引号也不行。值可能会被截断或清空。请参阅 zeabur/cli#201。
# WRONG — shell expands ${VAR} to empty
npx zeabur@latest variable create --id <service-id> -k "REDIS_URL=${REDIS_URI_INTERNAL}" -y -i=false
# STILL UNRELIABLE — single quotes prevent shell expansion but Cobra's CSV parser may still mangle the value
npx zeabur@latest variable create --id <service-id> -k 'REDIS_URL=${REDIS_URI_INTERNAL}' -y -i=false
# RECOMMENDED — set variable references in Zeabur Dashboard
# Or use GraphQL API with updateEnvironmentVariable(data: Map!) mutation
对于跨服务变量引用,例如 ${POSTGRES_CONNECTION_STRING}(Zeabur 使用扁平命名空间——其他服务公开的所有变量都会直接合并,无需服务前缀),在 CLI 问题修复前,请始终使用 Zeabur Dashboard。
快速参考
| 需求 | 命令 | 行为 |
|---|---|---|
| 添加新变量 | npx zeabur@latest variable create --id <service-id> -k "K=V" -y -i=false | 如果键已存在,则会报错 |
| 修改现有变量 | npx zeabur@latest variable update --id <service-id> -k "K=V" -y -i=false | 仅更新指定的键 |
| 删除指定变量 | npx zeabur@latest variable delete --id <service-id> --delete-keys "K" -y -i=false | 仅删除指定的键 |
| 从文件覆盖所有变量 | npx zeabur@latest variable env --id <service-id> -f .env | 替换整个变量集 |
| 查看变量 | npx zeabur@latest variable list --id <service-id> -i=false | 只读 |
评论
支持 Markdown