Ansible使用介绍

72课时
1.9K学过
8分

课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
2分钟

16 示例4:for循环中调用if

vim for4.conf.j2

{% for p in ports %}

server{

​ listen {{ p.port }}

{% if p.name is defined %}

​ servername {{ p.name }}

{% endif %}

​ documentroot {{ p.rootdir }}

}

{% endfor %}

cp testfor3.yml testfor4.yml

vim testfor4.yml

– hosts: websrvs

remote_user: root

vars:

ports:

– web1:

​ port: 81

​ #name: web1.magedu.com

​ rootdir: /data/website1

– web2:

​ port: 82

​ name: web2.magedu.com

​ rootdir: /data/website1

– web3:

​ port: 83

​ #name: web3.magedu.com

​ rootdir: /data/website1

tasks:

– name: copy conf

template:src=for4.conf.j2 dest/data/for4.conf

执行结果:每台主机生成for3.conf文件,内容如下,web1与web3的name没赋值,所有跳过,web2的

name被赋值,文件中输出结果