概要
Ansibleのblock
のなかでalways
ディレクティブを指定してみて動きを確認してみます。
always
の説明
always
はblock
内で指定できるディレクティブで、その名の通りいつでも実行される処理です。
タスクが成功しても失敗しても実行されるため、エラーハンドリングなどに利用することができます。
確認してみる
shell
で./sonzaisinai
という存在しないコマンドを実行するように設定し、failedになってもalways
がちゃんと実行されるかどうか確認してみます。
playbook
実行結果
always
がちゃんと実行されていることがわかります!
$ ansible-playbook block_always.yml PLAY [localhost] ********************************************************************************************************************************************** TASK [command] ************************************************************************************************************************************************ fatal: [localhost]: FAILED! => {"changed": true, "cmd": "./sonzaisinai", "delta": "0:00:00.002666", "end": "2018-04-12 22:22:17.968083", "msg": "non-zero return code", "rc": 127, "start": "2018-04-12 22:22:17.965417", "stderr": "/bin/sh: ./sonzaisinai: No such file or directory", "stderr_lines": ["/bin/sh: ./sonzaisinai: No such file or directory"], "stdout": "", "stdout_lines": []} TASK [debug] ************************************************************************************************************************************************** ok: [localhost] => { "msg": "always実行" } to retry, use: --limit @/home/ec2-user/block_always.retry PLAY RECAP **************************************************************************************************************************************************** localhost : ok=1 changed=0 unreachable=0 failed=1
おわりに
alwaysもべんり

Ansible実践ガイド第2版 impress top gearシリーズ
- 作者: 北山晋吾,塚本正隆,畠中幸司
- 出版社/メーカー: インプレス
- 発売日: 2018/03/01
- メディア: Kindle版
- この商品を含むブログを見る