Ansible&流浪者 - 给予安全条款

时间:2016-10-21 14:57:50

标签: vagrant ansible provisioning

我的一个大学写了一个脚本来自动化Vagrant安装,包括Ansible脚本。因此,如果我运行ansible provision,则会在流浪汉机器上运行剧本ansible / playbooks / provision.yml`。

此脚本的缺点是Ansible playbook只会部署在ansible provision的计算机上。

现在,在我编写代码和工作时,我注意到了缺点。因为我可以提供ansible-playbook参数/参数,例如ansible-playbook -i inventory provision.yml -vvv --tags "test"。但由于存在建筑问题,这是不可能的。

所以,不是解决真正的问题(我试图逃避),是否有任何大师在那里,谁可以指出我正确的指示,使得有可能提供ansible供应论点?例如。 ansible provision -vvv

我看了https://www.vagrantup.com/docs/cli/provision.html,但没有帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

不完全确定我已经正确理解但是也许这个配置(来自我的一个项目),在vagrantfile中,可以提供帮助:

 config.vm.provision "ansible" do |ansible|
        ansible.playbook = "ansible/playbook.yml"
        ansible.limit = 'all'
        ansible.tags = 'local'
        ansible.sudo = true
        ansible.verbose = 'v'
        ansible.groups = {
          "db" => ["db"],
          "app" => ["app"],
          "myproject" => ["myproject"],
          "fourth" => ["fourth"],
          "local:children" => ["db", "app", "myproject", "fourth"]
        }
    end

在这个Vagrantfile中,我配置了4个VM vagrant。

vagrant_ansible_inventory看起来像这样:

# Generated by Vagrant

db ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 ansible_ssh_private_key_file=/home/user/.vagrant.d/insecure_private_key
app ansible_ssh_host=127.0.0.1 ansible_ssh_port=2200 ansible_ssh_private_key_file=/home/user/.vagrant.d/insecure_private_key
myproject ansible_ssh_host=127.0.0.1 ansible_ssh_port=2201 ansible_ssh_private_key_file=/home/user/.vagrant.d/insecure_private_key
fourth ansible_ssh_host=127.0.0.1 ansible_ssh_port=2202 ansible_ssh_private_key_file=/home/user/.vagrant.d/insecure_private_key

[db]
db

[app]
app

[myproject]
myproject

[fourth]
fourth

[local:children]
db
app
myproject
fourth

https://www.vagrantup.com/docs/provisioning/ansible_local.html

相关问题