Ansible include_tasksで各OSごとのタスクを呼び出す方法
環境
Ansible Playbook
構成
roles/[role名] └── tasks ├── CentOS.yml ├── Ubuntu.yml └── main.yml
使用例
CentOSではソースからビルド、Ubuntuではパッケージをインストールします。
定義コード
# roles/[role名]/tasks/CentOS.yml xxxをビルドしてインストールする # roles/[role名]/tasks/Ubuntu.yml xxxをパッケージからインストールする # roles/[role名]/tasks/main.yml - name: xxxAのインストール (CentOS) include_tasks: CentOS.yml when: ansible_distribution in ['RedHat','CentOS'] - name: xxxのインストール (Ubuntu) include_tasks: Ubuntu.yml when: ansible_distribution in ['Ubuntu']