我有一个bash脚本,其中playbook.yml
的调用如下:
ANSIBLE_FORCE_COLOR=true ansible-playbook -e 'host_key_checking=False' /vagrant/playbook.yml --extra-vars "@/vagrant/config.yml target=$server_name" -vvvv
因此,在上面的行中可以看到提到--extra-vars "@/vagrant/config.yml target=$server_name"
并且它包含一个config.yml
,它是另一个yml文件而另一个是target=$server_name
的参数。现在问题是它的抛出错误如上所述config.yml在正确的位置,如果调用playbook.yml
只有一个变量,如下所示它是正常的:
ANSIBLE_FORCE_COLOR=true ansible-playbook -e 'host_key_checking=False' /vagrant/playbook.yml --extra-vars "@/vagrant/config.yml" -vvvv
因此,请建议如何将两个变量传递给playbook.yml
,以便它能够很好地执行。
答案 0 :(得分:1)
只需重复--extra-vars
参数即可。与定义host_key_checking
的方式相同(-e
与--extra-vars
同义):
ANSIBLE_FORCE_COLOR=true ansible-playbook playbook.yml -e "host_key_checking=False target=$server_name" -e "@/vagrant/config.yml" -vvvv
答案 1 :(得分:0)
可以使用@
语法从yml文件加载额外的变量:
ANSIBLE_FORCE_COLOR=true ansible-playbook playbook.yml -e "host_key_checking=False target=$server_name" -e@/vagrant/config.yml -vvvv