我有几个Vagrantfile,每个都不同provider,因为Vagrant有一个限制,不允许同时使用相同的Vagrantfile. 所以,我分成两个或更多Vagrantfiles,但我的“主体”,我的供应脚本对两者都是相同的,唯一改变的是provider块。
例如:
local_nagios/Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'yaml'
set = YAML.load_file '../../../settings.yaml'
Vagrant.configure(2) do |nagios|
nagios.vm.provider :virtualbox do |provider, override|
override.vm.box = 'ubuntu/trusty64'
override.vm.hostname = 'nagios.company.com'
override.vm.synced_folder '.', '/vagrant', disabled:true
override.vm.network 'public_network', bridge:set['network_interface'], ip:set['dev_nagios_ip']
provider.memory = 4096
provider.cpus = 2
end
install = set['devops_home'] + '/vagrant/lib/install'
nagios.vm.provision 'shell', path: install + '/basic'
nagios.vm.provision 'shell', path: install + '/devops'
step = …Run Code Online (Sandbox Code Playgroud)