当前位置:  开发笔记 > 后端 > 正文

Ansible使用--extra-vars进行条件包含

如何解决《Ansible使用--extra-vars进行条件包含》经验,为你挑选了1个好方法。

我正在使用Ansible来部署可能分发或不分发服务的环境.我想条件性地包括基于我传递给ansible-playbook的论据的剧本.

create_server.yml

---
- include: launch_ec2_instance.yml

- include install_postgres.yml
  when {{db}} == "Y"

- include install_redis.yml
  when {{redis}} == "Y"

这是我如何调用create_server.yml

ansible-playbook create_server.yml -i local --extra-vars "db=Y redis=N"

有可能这样做,如果是这样,怎么样?



1> Rico..:

是.这是可能的.您在when语句中缺少冒号(:).

---
- include: launch_ec2_instance.yml

- include install_postgres.yml
  when: {{ db }} == "Y"

- include install_redis.yml
  when: {{ redis }} == "Y"

您还可以省略大括号({{}}):

---
- include: launch_ec2_instance.yml

- include install_postgres.yml
  when: db == "Y"

- include install_redis.yml
  when: redis == "Y"

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有