我是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是在所有服务器中定义的环境变量,其值因服务器而异 .
1 回答
您设置变量
tag
,但使用变量ENV
.如果要使用
ENV
变量,则必须设置ENV
变量 .或者,如果已设置
tag
变量,则必须使用tag
变量 .顺便说一句:
filter
行没有空格 .