web-dev-qa-db-fra.com

Comment valider mon fichier YAML à partir de la ligne de commande?

J'ai des problèmes pour extraire un fichier de configuration YAML:

Erreur fatale: lors de l'analyse d'un mappage de bloc; <block end> ​​attendu, mais entrée de bloc trouvée

Bien qu'il existe de nombreux validateurs YAML en ligne, que j'ai essayés et que j'ai aidés, je voudrais valider mes fichiers YAML à partir de la ligne de commande et l'intégrer dans mon pipeline d'intégration continue.

Comment puis-je valider la syntaxe d'un fichier YAML sur la ligne de commande?

62
user375566

Avec une installation de base Ruby cela devrait fonctionner:

Ruby -ryaml -e "p YAML.load(STDIN.read)" < data.yaml

Version Python (thx @Murphy):

pip install pyyaml
python -c 'import yaml, sys; print(yaml.safe_load(sys.stdin))' < data.yaml
107
Tombart

Étant donné que vous avez une installation Perl sur le serveur sur lequel vous travaillez et qu'il possède certains des outils YAML de base, vous pouvez utiliser ...

Perl -MYAML -e 'use YAML;YAML::LoadFile("./file.yaml")'

Il convient de noter que ce sera strict dans son interprétation du fichier, mais utile.

17
CS Marshall