以下是我的ansible_local
相关的Vagrantfile
代码:
config.vm.provision "ansible_local" do |ansible|
ansible.become = true
ansible.inventory_path = '/vagrant/provisioning/inventory/hosts.ini'
ansible.playbook = "/vagrant/provisioning/playbook.yml"
ansible.limit = 'all'
ansible.galaxy_role_file = "/vagrant/provisioning/requirements.yml"
ansible.galaxy_roles_path = "/etc/ansible/roles"
ansible.galaxy_command = "sudo ansible-galaxy install --role-file=%{role_file} --roles-path=%{roles_path} --force"
end
如您所见,ansible.limit
是all
。
├── ansible.cfg
├── provisioning
│ ├── group_vars
│ │ └── all.yml
│ ├── inventory
│ │ ├── hosts.ini
│ │ └── hosts.yml
│ ├── playbook.yml
│ └── requirements.yml
└── Vagrantfile
all.yml
的内容是:
solr_cores:
mssql_restore_backups: false
我需要替换mssql_restore_backup
的默认值,以便从环境变量中获取它。
反正有将环境变量值传递给ansible供应商吗?
有什么想法吗?
答案 0 :(得分:1)
在Ansible中,市长优先级的变量为extra-vars
,您可以按如下所示将其添加到Vagrantfile中
ansible.extra_vars = {
mssql_restore_backup: $MSSQLRESTOREBACKUP
}
文档:
https://www.vagrantup.com/docs/provisioning/ansible_common#extra_vars