我是一个新手,我正在编写一个小型手册,它必须从目标主机收集事实值,并将其用作播放中的变量。有人可以帮助我如何做到这一点。ansible为变量分配一个事实值
---
- hosts: all
gather_facts: True
become: true
become_method: sudo
become_user: root
vars:
BUILD_PATH: /opt/services/dev
pre_tasks:
- setup:
filter: ansible_env
- set_fact:
tag: "{{ ansible_env.DATA_AGGREGATOR_ENV }}"
- debug: var=ENV
tasks:
- name: Copy to Build to DATA
shell: cp -pr {{ BUILD_PATH }} {{ ENV }}
注:DATA_AGGREGATOR_ENV是在所有的服务器中定义的环境变量和值而变化从一个服务器到另一个。
问题是什么? –
您可以直接使用由设置任务 – papey
创建的var,因为@papey表示您可以直接在剧本中使用事实,只需“{{ansible_env.DATA_AGG_ENV}}”当然“gather_facts”应该为true,这是默认的 – itiic