Answers:
有很多方法可以做到这一点。最简单的:
- name: Copy file.role1 to host1
copy: src=file.role1 dest=/somewhere/file
when: inventory_hostname == "host1"
- name: Copy file.role2 to host2
copy: src=file.role2 dest=/somewhere/file
when: inventory_hostname == "host2"
替代方案,更紧凑:
- name: Copy file to host
copy: src=file.{{ inventory_hostname }} dest=/somewhere/file
或者,使用模板:
- name: Copy file to host
template: src=file dest=/somewhere/file
模板可以是这样的:
{% if inventory_hostname == "host1" %}
{% include "file1" %}
{% endif %}
...
如果您想以不同的角色使用不同的文件,为什么不简单地输入以下内容:
- name: Copy file.role1 to file
copy: src=file.role1 dest=/somewhere/file
在每个角色的代码中?
没有首选的方法可以执行此操作-这取决于您实际要完成的工作。