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も流すことができるようになる。