我想在两个远程主机之间同步(复制)文件:
在我的剧本下,我根据每个任务案例在多个小组中运行我的任务。
我的剧本看起来像这样:
---
- hosts: myHosts
gather_facts: true
become: true
become_user: "{{ ansi_user }}"
vars:
- buildServer_host : "127.78.11.04"
roles:
#... Different roles
...
- { role: myRole }
我的库存文件如下:
[myHosts]
myGroupA
myGroupB
myGroupC
在myRole下,我已完成此任务:
- name: Copy jars to API server
synchronize:
src: "{{ Workspace_GEN_COLIS }}/{{item.item}}/target/{{item.stdout}}"
dest: "/opt/application/i99was/{{RCD_DEF_VERSION}}/{{item.item}}.jar"
with_items: "{{ jarFileNames.results }}"
when:
- ansible_host in groups['myGroupB']
delegate_to: "{{buildServer_host }}"
如您所见:我想将文件从我的“ buildServer_host” 传输到另一个远程目的地,该目的地仅为组“ myGroupB”
这失败了,我也不知道为什么。
似乎无法理解:ansible_host in groups['myGroupB']
作为目标主机
建议?
答案 0 :(得分:-1)
proxy_to绰绰有余,您不需要when条件,因为委托将在您在proxy_to值中选择的主机上完成。