Cloud Foundry如何提取VCAP_SERVICES内容生成default-env.json文件
提取Cloud Foundry VCAP_SERVICES生成default-env.json的zsh单行命令
你可以选择以下两种方案实现需求,均为单行可直接执行的zsh命令:
方案1:无额外依赖版本(仅用系统内置工具)
echo "{" > default-env.json && cf env my-app | awk '/^VCAP_SERVICES: /{sub(/^VCAP_SERVICES: /,""); flag=1} flag{print} /^}$/ && flag{flag=0; exit}' >> default-env.json && echo "}" >> default-env.json
使用前请将命令中的my-app替换为你部署在Cloud Foundry上的实际应用名称。
该方案通过awk匹配VCAP_SERVICES的内容块,拼接外层JSON结构后写入目标文件,无需安装额外工具。
方案2:jq优化版本(推荐,格式100%准确)
如果你的环境已安装JSON处理工具jq,推荐使用该方案,完全避免文本匹配可能出现的格式错误:
cf curl /v3/apps/$(cf app my-app --guid)/env | jq '{VCAP_SERVICES: .system_env_json.VCAP_SERVICES}' > default-env.json
同样将my-app替换为实际应用名即可,该方案直接调用Cloud Foundry官方API获取结构化的环境变量数据,通过jq直接构造符合要求的JSON结构,生成的default-env.json为标准合法JSON格式,可直接被应用读取使用。
注意:生成的
default-env.json包含服务实例的敏感凭证信息,请勿提交到公共代码仓库,建议将该文件加入项目的.gitignore规则。
内容的提问来源于stack exchange,提问作者Pierre F
相关产品推荐
相关产品推荐

