我有一些ubuntu和centos的剧本,我想用main.yml来检查"何时:ansible_os_family =='RedHat'或ansible_distribution =='Centos'"运行剧本(有些人很多:-))
如果我只是
-include: centos-xxx.yml
-include: centos-xaa.yml
-include: centos-xsss.yml
Run Code Online (Sandbox Code Playgroud)
它将运行所有这些
我想要如果符合条件,剧本将运行
我没有找到任何说如何运行的文件包括:如果可能的话,我试图不按每个包括任务
谢谢您的帮助
ted*_*r42 15
您可以使用when条件包含文件.事实上,这有点普遍.
- include: centos-xxx.yml
when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos'
- include: debian-xxx.yml
when: ansible_distribution == 'Debian'
Run Code Online (Sandbox Code Playgroud)
根据您的评论 - 如果您想按顺序运行它们,您有两种选择.这是直截了当的:
- include: centos-a.yml
when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos'
- include: centos-b.yml
when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos'
- include: centos-c.yml
when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos'
- include: centos-d.yml
when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos'
Run Code Online (Sandbox Code Playgroud)
或者,你可以这样做:
- include: centos.yml
when: ansible_os_family == 'RedHat' or ansible_distribution == 'Centos'
Run Code Online (Sandbox Code Playgroud)
在里面centos.yml:
- include: centos-a.yml
- include: centos-b.yml
- include: centos-c.yml
- include: centos-d.yml
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22051 次 |
| 最近记录: |