我们想要实现一个工作流,其中包括拥有 YAML 配置文件,我们希望在实际使用它们之前更改其中的一些内容,我们正在寻找一个好的命令行工具来执行此操作。
这可以像在现有节点中设置特定于目标的值(如 URL)一样简单,但最好能够添加或修改 YAML 文件的整个块。在一个完美的世界中,我想要像 XSLT 中的轴一样强大的东西。
我们将在 Docker 文件中与 Maven 一起使用它,我们偏爱基于 Debian 的镜像,但不是严格要求。
Mike Farahyq
是我用于 YAML 操作的首选工具。例如,使用 Kubernetes 命名空间定义文件:
提取命名空间名称:
yq read deploy/namespace.yaml metadata.name
Run Code Online (Sandbox Code Playgroud)添加标签:
yq write deploy/namespace.yaml metadata.labels.name demo
Run Code Online (Sandbox Code Playgroud)
(这将替换现有节点,如果还没有,则添加一个新节点)
该-i
选项可用于就地更新文件。
您不会找到 XSLT 工具通常可以做的所有事情(或jq
用于 JSON),例如您不会找到对子表达式的测试,因此您不能(AFAIK)编写相当于“在节点上更新此子节点”的代码具有此值的另一个子节点”。
归档时间: |
|
查看次数: |
2980 次 |
最近记录: |