YAMLとは何か
YAML(ヤムル、または単にヤメルなどとも呼ばれます)とは、プログラムの設定内容を、人間にとって読み書きしやすい形で記述するための記法の1つです。多くの開発ツールやシステムの設定ファイルで、標準的に採用されています。
なぜ読みやすさが重視されるのか
プログラムが扱うデータの形式には、他にも「JSON」といった記法がありますが、JSONは記号(波括弧やカンマなど)が多く、人間が手作業で書き換える際には、ややわかりにくく感じられることがあります。YAMLは、記号を最小限に抑え、インデント(字下げ)によって階層構造を表現するという、比較的シンプルなルールを採用しており、人間にとって直感的に読みやすい記法として設計されています。
基本的な書き方のイメージ
YAMLでは、以下のように「項目名: 値」という形式と、インデントによる階層で情報を表現します。
name: 田中太郎
age: 25
hobbies:
- 読書
- 映画鑑賞
このように、余計な記号を使わず、見た目そのままの構造で情報を整理できる点が特徴です。
どんな場面で使われているか
- 開発ツールやアプリケーションの、細かい動作設定を記述するファイル
- 以前の記事で紹介した「CI/CD」の仕組みにおいて、どのような手順でテスト・公開を自動化するかを定義するファイル
- サーバーやシステムの環境構築の手順を、まとめて記述するファイル
裏側で動くプログラムの設定を、専門知識がなくてもある程度読み解けるようにする、という目的で広く採用されています。
書く際に注意したいポイント
YAMLは、インデントの空白の数によって階層構造が決まる仕組みになっているため、インデントのズレが、そのまま意図しない構造の誤りにつながるという特徴があります。タブとスペースが混在してしまうと、エラーの原因になりやすいため、多くの編集ツールでは、YAMLファイルを書く際に、インデントのルールを揃えて表示してくれる機能が用意されています。
覚えておきたいこと
YAMLの設定ミスで多いのが、タブとスペースが混在してエラーになるケースです。エディタの設定でインデントを可視化しておくだけで、この手のトラブルはかなり防げます。
YAMLは、記号を減らし、インデントによる階層構造で情報を表現する、人間にとって読みやすい設定ファイル用の記法です。開発現場の様々な設定ファイルで、日常的に目にすることになります。
関連記事:JSONとは