Ruby 流浪者:不同机器的不同供给者
我正在尝试让我的vagrant配置为我的多机器环境中的每台机器运行不同的shell脚本 我对smartos和centos都有一个定义,但是我希望在两个系统上运行相同的chef solo提供程序配置之前,为每个系统运行不同的shell提供程序配置Ruby 流浪者:不同机器的不同供给者,ruby,vagrant,Ruby,Vagrant,我正在尝试让我的vagrant配置为我的多机器环境中的每台机器运行不同的shell脚本 我对smartos和centos都有一个定义,但是我希望在两个系统上运行相同的chef solo提供程序配置之前,为每个系统运行不同的shell提供程序配置 #!/usr/bin/env ruby # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION =
#!/usr/bin/env ruby
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
$smartos_script = <<-SHELL
echo "http://10.40.95.5" > /opt/local/etc/pkgin/repositories.conf
rm -rf /var/db/pkgin && pkgin -y update
SHELL
$centos_script = <<-SHELL
touch /opt/my_file
SHELL
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.berkshelf.enabled = true
config.ssh.forward_agent = true
config.vm.define :smartos do |smartos|
smartos.vm.box = "smartos"
smartos.vm.box_url = 'http://dlc-int.openindiana.org/aszeszo/vagrant/smartos-base1310-64-virtualbox-20130806.box'
smartos.vm.guest = :solaris
config.vm.provision :shell do |shell|
shell.inline = $smartos_script
end
end
config.vm.define :centos do |centos|
centos.vm.box = "centos"
centos.vm.box_url = 'http://dlc-int.openindiana.org/aszeszo/vagrant/smartos-base1310-64-virtualbox-20130806.box'
config.vm.provision :shell do |shell|
shell.inline = $centos_script
end
end
config.vm.provision :chef_solo do |chef|
chef.add_recipe 'test'
end
end
#/usr/bin/env ruby
#Vagrantfile API/语法版本。除非你知道自己在做什么,否则不要碰!
VAGRANTFILE\u API\u VERSION=“2”
$smartos_script=您使用
我还尝试使用smartos.vm.provision而不是config
试试这个简单的文件
$smartos_script = <<-SHELL
touch /opt/foo
SHELL
$centos_script = <<-SHELL
touch /opt/bar
SHELL
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define :smartos do |smartos|
smartos.vm.box = "smartos"
smartos.vm.box_url = 'http://dlc-int.openindiana.org/aszeszo/vagrant/smartos-base1310-64-virtualbox-20130806.box'
smartos.vm.provision :shell do |shell|
shell.inline = $smartos_script
end
end
config.vm.define :centos do |centos|
centos.vm.box = "centos"
centos.vm.box_url = 'http://dlc-int.openindiana.org/aszeszo/vagrant/smartos-base1310-64-virtualbox-20130806.box'
centos.vm.provision :shell do |shell|
shell.inline = $centos_script
end
end
end
$smartos\u脚本=