仕事でAnsibleで自動化して楽にしたい課題があって、細々と自宅で読んでいたAnsibleの本が役立ってます。
以下、ここ2、3日で学んだことのメモ。Ansible職人の朝は早い(えっ!?)
- register
- 出力を読み込む
- stdoutで読み込んだものを取り出せる
- when
- 条件分岐に使える。registerを使って読み込んだもので値を評価してタスクを実行する感じ
- hosts
- インベントリーのグループを指定して、タスクを切り替えられる
- インベントリーファイル
- [server1:vars]と記載することで、グループごとに変数を定義できる
- commandとshellの違い
- パイプやリダイレクトを使うなら、shellを使う。shellは/bin/shを使う
- debug
- registerで読み込んだものを出力するのに使ったり、便利
- vars.yaml
- プレイブックでvars_filesで読み込む
- environmnet
- 環境変数を定義する。タスクごとに可能
- item_with
- Ansibleでループにしたようなことをやるのに使う。
- until
- 条件を満たすまで待機する
- wait_for
- 例えば、SSHサーバ(ポート22)で起動するのも待つような処理に使う
何事もそうだけど、Ansibleも奥が深くて楽しい:-P