Ansible でホスト毎に実行するタスクを変えたい時

ansible って同時並行処理ができて便利なんですがどうもドキュメントが海外・日本語共に難しくて
やりたいことがなかなかできない。。のでホスト毎にタスク変えたい時のメモまとめました(わかりやすく(なってるはず..))。

下記は
host1には confファイルをコピーして apache再起動、
host2には confファイルをコピーせず apache再起動、したい時です。
まずインベントリファイル。

hosts ファイル


host1 task1=yes task2=yes
host2 task1=no task2=yes

playbook.yml ファイル



- hosts: all
become: yes

tasks:

- name: confファイルコピー
copy: src=/etc/httpd/conf.d/hoge.conf dest=/etc/httpd/conf.d/hoge.conf
when: task1=yes

- name: httpd 再起動
service: name=httpd state=restarted
when: task2=yes

これでOK

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です