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

環境
Ansible Playbook

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

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

定義コード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
- 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']
- 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']
- 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