首页 文章

如何从Ansible中的“ansible-playbook额外变量”定义“全局变量”?

提问于
浏览
2

我正在使用Ansible 2.1.1.0 . 在Ansible中,有没有办法在 group_vars/all 文件中定义变量,并将动态变量设置为ansible-playbook命令中的额外变量?

我有我的play.sh文件如下 .

ansible-playbook site.yml -i hosts -e "home_dir=$1"

然后我想在group_vars / all文件中将它用作全局变量,如下所示 .

my_dir: {{ home_dir }}/sub_dir/my_dir

我知道上面的语法对于 all file 是错误的,这可以通过在任务yaml文件中直接使用变量来完成 . 有什么方法可以使用动态'ansible-playbook额外变量' for defining a '全局变量'?

1 回答

  • 2

    我不知道Ansible中global_vars的存在...

    如果要使 my_dir 可用于所有主机,则可以为特殊组 all 定义组变量,如:

    档案 ./group_vars/all

    my_dir: "{{ home_dir }}/sub_dir/my_dir"
    

    这样 my_dir 将基于 home_dir 额外变量构建,并可作为所有主机的组变量使用 .

相关问题