假设我有一个YAML文件https://raw.githubusercontent.com/kaihendry/days/main/template.yml附带一个模式:https://raw.githubusercontent.com/awslabs/goformation/master/schema/sam.schema.json
我使用什么工具来验证template.yml,以确保它在Linux命令行中是正确的?
请考虑使用yajsv,因为它同时涵盖了YAML和JSON用例。
更简单的安装方法是下载正确版本的
Linuxamd64
示例:
要安装它:
wget https://github.com/neilpa/yajsv/releases/download/v1.4.1/yajsv.linux.amd64
chmod +x ./yajsv.linux.amd64 # you may need to run it with root rights (aka sudo chm...)
请记住,URL可能很快就会更改,所以只需使用浏览器复制正确的URL即可。
要使用特定的JSON schema
验证一个Yaml
,可以使用:
./yajsv.linux.amd64 -s /path/to/json/schema/direcotry/schema.json /path/to/yaml/data/direcotry/file.yml
-或-
要使用特定的JSON schema
验证多个Yaml
,可以使用:
./yajsv.linux.amd64 -s /path/to/json/schema/direcotry/schema.json -r /path/to/yaml/data/direcotry/file1.yml /path/to/yaml/data/direcotry/file2.yml /path/to/yaml/data/direcotry/file3.yml
您可以使用yajsv GitHub了解更多详细信息。
奖金:
如果您正在使用Nix软件包管理器或NixO,您可以首先使用测试yajsv
nix-shell -p yajsv
# test your yamls
exit # now yamls is not an existing command to your machine
如果你想安装它:
# If you are running NixOS:
nix-env -iA nixos.yajsv
# If you are running other distributions:
nix-env -iA nixpkgs.yajsv