![](/img/trans.png)
[英]How to reach other private IP's of hosts in a group ansible playbook
[英]How can i optimize ansible's playbook
这时我的剧本看起来像这样:
- role: co_java
vars:
co_java_version: jdk1.6.0_45
- role: co_java
vars:
co_java_version: jdk1.8.0_161
我可以迭代项目吗? Desiderata:
- role: co_java
vars:
co_java_version: {{ item }}
with_items:
- jdk1.6.0_45
- jdk1.8.0_161
谢谢
参考:“ 角色”文档页面
您不能使用经典的角色调用方式来做到这一点(就像上面的示例一样)。 但是从ansible 2.4 import_role
,可以使用import_role
和include_role
做到这一点。
- name: playbook to install java
hosts: my_hosts
tasks:
- name: Include role to install java versions
include_role:
name: co_java
vars:
co_java_version: "{{ item }}"
loop:
- jdk1.6.0_45
- jdk1.8.0_161
同时,修改角色以直接接受要安装的jdks列表可能更容易甚至更有效 ,因此循环直接发生在相关任务中。 然后,您可以使用类似以下内容的名称进行调用:
- name: playbook to install java
hosts: my_hosts
roles:
- role: co_java
vars:
co_java_version:
- jdk1.6.0_45
- jdk1.8.0_161
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.