Ansible - 在远程主机模板中使用来自本地主机的事实
Ansible - use fact from local host in remote host template
我有一个包含本地主机角色和远程主机角色的剧本。
在其中一个本地主机角色中,我设置了一个名为 git_tag
的事实。
我想在远程主机的模板中使用这个事实。
我试过了:
- name: Read Version
set_fact:
git_tag: "{{ package_json.stdout | from_json | json_query('version')}}"
delegate_to: "test-server"
但是当 Ansible 到达读取具有 {{ git_tag }}
的模板的角色时,它说 git_tag is undefined
.
我确定我做错了什么。我该怎么做?
你应该使用 hostvars
magic variable:
{{ hostvars['localhost']['git_tag'] }}
我有一个包含本地主机角色和远程主机角色的剧本。
在其中一个本地主机角色中,我设置了一个名为 git_tag
的事实。
我想在远程主机的模板中使用这个事实。
我试过了:
- name: Read Version
set_fact:
git_tag: "{{ package_json.stdout | from_json | json_query('version')}}"
delegate_to: "test-server"
但是当 Ansible 到达读取具有 {{ git_tag }}
的模板的角色时,它说 git_tag is undefined
.
我确定我做错了什么。我该怎么做?
你应该使用 hostvars
magic variable:
{{ hostvars['localhost']['git_tag'] }}