Ansible whenステートメントでOSごとのタスクにする

環境
Ansible Playbook

概要
when: ansible_distribution in ['RedHat’,’CentOS’]
when: ansible_distribution in ['Ubuntu’]
タスクにwhenステートメントを付け、タスクに実行条件を付けます。

使用例
CentOSではyumモジュールを使って、Ubuntuではaptモジュールを使ってインストールします。

定義コード

- name: install openjdk-17 (CentOS)
  yum:
    name: java-17-openjdk-devel
    state: present
  when: ansible_distribution in ['RedHat','CentOS']

- name: install openjdk-17 (Ubuntu)
  apt:
    name: openjdk-17-jdk
    state: present
  when: ansible_distribution in ['Ubuntu']

 

Ansible

Posted by arkgame