값 목록을 /vars/main.yml 파일에 전달하여 이러한 변수를 처리 작업에 전달할 수 있는 방법이 있습니까?
여기서 목적은 작업을 N 번 실행하는 대신 한 번 실행하는 것입니다.
내 현재/vars/main.yml
---
srv:
httpd
nginx
TASK [app : Install the httpd nginx server package] ************
yum 모듈이 좋아하지 않는 것으로 해결됩니다 .
---
- name: Install the {{ srv }} server package
yum:
name: "{{ srv }}"
state: present
- name: Check for the installed package
yum:
list: "{{ srv }}"
register: yumout
- debug:
var: yumout
답변1
스크립트는 다음과 같습니다. 아직 코드를 테스트해본 적은 없고 즉흥적으로 만든 것뿐입니다...
---
- hosts: all
tasks:
- name: Install the {{ srv }} server package
yum:
name: "{{ item }}"
state: present
loop: "{{ srv }"
- name: Check for the installed package
yum:
list: "{{ srv }}"
loop: "{{ srv }"
register: yumout
- debug:
msg: yumout
답변2
이 예를 봐yum 모듈에 대한 문서:
- name: ensure a list of packages installed
yum:
name: "{{ packages }}"
vars:
packages:
- httpd
- httpd-tools
목록을 변경하면 됩니다 /vars/main.yml
.
---
srv:
- httpd
- nginx