一:概述
需要重复执行某些模块时,可以使用loop语句重复执行任务,需要重复的内容定义为item变量引用,使用loop语句分别获取每一项的元素列表。
二:示例
1、重复执行yum安装模块,安装软件包,示例如下:
---
- name: test loop
hosts: servera
tasks:
- name: httpd and autofs
yum:
name: "{{item}}"
state: latest
loop:
- httpd
- autofs
2、定义xxx变量,赋予多项值,loop变量引用,循环变量中每一项值,示例如下
---
- name: test loop
hosts: servera
vars:
xxx:
- aaa
- bbb
tasks:
- name: httpd and autofs
debug:
msg: "{{item}}"
loop: "{{xxx}}"
3、定义xxx变量数组,赋予每一项的元素列表值,使用loop语句分别获取每一项的元素列表值,示例如下
---
- name: test loop
hosts: servera
vars:
xxx:
- name: a1
groups: a2
- name: b1
groups: b2
tasks:
- debug:
msg: "name:{{item.name}};groups:{{item.groups}}"
loop: "{{xxx}}"
4、那么我们在ansible环境中,运行playbook,运行结果,示例如下:
三:视频讲解
ansible之playbook中的loop语句
注释:后续会录制视频,如果不懂,请随时关注我的个人网站网络安全界:www.wlaqj.com。