この記事の内容
急に職場でCIツールを扱うことになりました。実はYAMLもまともに読めなかったので、CIツールの設定に必要だったことをまとめました。
なお、ソースは全てこちらのサイトです。しっかり勉強したい方はこちらを読んでくださいね!
追記:公式サイトが、まさにCircleCIを読み解くためのYAMLの文法を紹介してくれていました!これだけ読めばとりあえず大丈夫そうですね!
文法
配列
YAMLでは-
で配列を表現します。
- "あああ"
- "いいい"
- "ううう"
#=> ["あああ", "いいい", "ううう"]
なお、シングルクォーテーションで囲んだ文字列は、ただのテキスト。
ダブルクォーテーションで囲んだ文字列は、エスケープシーケンスなども使うことができるようです。
- 詳細:YAML フォーマット
ハッシュ
YAMLでは:
でハッシュを表現します。
A: "あああ"
B: "いいい"
C: "ううう"
#=> {"A"=>"あああ", "B"=>"いいい", "C"=>"ううう"}
ネスト
半角スペースのインデントでネストを表します。
- "あああ"
-
- "いいい"
-
- "ううう"
#=> ["あああ", ["いいい", ["ううう"]]]
A: "あああ"
B:
C: "ううう"
#=> {"A"=> "あああ", "B"=> {"C"=> "ううう"}}
パイプ
稀にパイプ|
がコードの中に出てくることがあります。
command: |
echo 'Hello World!'
echo 'This is the delivery pipeline'
このパイプは、複数行のシェルコマンドが後に続いていることを示しているそうです。
その他
設定ファイルをざっと見直しましたが、今のところこれ以上複雑な文法は出てこない(出てきても稀)ので、一旦ここまでにしようと思います。
配列とハッシュとネストができれば概ね大丈夫なのね!すごい!!
他の文法も出てきたら追記していきます。
なお、CircleCIの構築自体も別途記事にしていますので、完成し次第リリースしたいです。