
Ansibleにはalways_runとalwaysという紛らわわしい(と思っている)ものがある。
それぞれの説明を書いておく。
- always_runはステートメント
- alwaysはタグ
always_runとは
公式サイトはこちら Check Mode (“Dry Run”) — Ansible Documentation
- tasks:
- shell: date
always_run: True
このように書くことで、ドライラン実行時(ansible-playbook -Cで実行した時)にもこのshellタスクは実行される。
※通常ドライラン時はshellタスクはスキップされる
alwaysとは
alwaysはタグだ。
ansible-playbookコマンドを実行した時に--tags/-tオプションを付与すると、指定のroleのみを実行することができる。
しかし状況によっては必ず実行したいroleがある場合もあるだろう。
roles:
- { role: test1 , tags: ["test1", "always"] }
- { role: test2 , tags: ["test2"] }
このようにすることでansible-playbook -t test2としても必ず毎回test1のroleも流すことができるようになる。