我正在使用Ansible 2.1.1.0。在Ansible中,是否有一种方法可以在 group_vars/all 文件中定义一个变量,并在Ansible-PlayBook命令中将动态变量设置为额外的var?
我的play.sh文件如下。
ansible-playbook site.yml -i hosts -e "home_dir=$1"
然后,我想将其用作group_vars/All文件中的全局变量。
my_dir: {{ home_dir }}/sub_dir/my_dir
我知道上面的语法对于所有文件是错误的,这可以通过直接在任务YAML文件中的变量来完成。我有什么办法可以使用动态' ansible播放书额外变量'来定义'全局变量'?
我不知道 global_vars Ansible中的存在...
如果要使所有主机可用my_dir
,则可以为特殊组all
定义组变量,例如:
文件./group_vars/all
:
my_dir: "{{ home_dir }}/sub_dir/my_dir"
这种方式将基于home_dir
额外变量构建my_dir
,并作为所有主机的组变量可用。