Essa é a versão 1 do Vagrantfile:
Vagrant::Config.run do |config|
config.vm.box = "precise64"
config.vm.host_name = "cecap"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.share_folder("cecap", "/var/www/cecap", "..", :extra => 'dmode=777,fmode=777')
config.vm.forward_port 80, 8099
config.vm.forward_port 443, 44399
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.manifest_file = "cecap.pp"
puppet.module_path = "modules"
end
end
E essa é a versão 2:
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.host_name = "blog"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.synced_folder("..", "/var/www/blog", :mount_options => ['dmode=777','fmode=777'])
config.vm.network "forwarded_port", guest: 80, host: 8099
config.vm.network "forwarded_port", guest: 443, host: 44399
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.manifest_file = "blog.pp"
puppet.module_path = "modules"
end
end
Notem que os dois arquivos são bem simples e, não a quase nenhuma customização. Mas, vamos ao que interessa: as mudanças!
- A primeira mudança vem logo na primeira linha dos arquivos:
Vagrant::Config.run do |config|
viraVagrant.configure("2") do |config|
onde, o número 2 significa a versão do Vagrantfile que você quer usar. Estão disponíveis as versões 1 e 2. Algumas configurações podem ser mantidas se a versão informada for a 1. Nesses arquivos, por exemplo, basta substituir oextra
pormount_options
e passar os parâmetros através de umarray
ao invés de umastring
separada por vírgulas; - A diretiva
config.vm.share_folder
dá lugar àconfig.vm.synced_folder
. Notem que o número de parâmetros é menor na versão 2 e que também a ordem é invertida. O primeiro parâmetro é a pasta no host e o segundo parâmetro é o caminho na máquina virtual (se a pasta não existir será criada e, recursivamente se necessário). A diretiva:extra
dá lugar à:mount_options
, como dito no primeiro item; - A última mudança notável é a nova maneira de declarar forwarded ports. A diretiva
config.vm.forward_port
dá lugar àconfig.vm.network
e port forwarding torna-se um parâmetro da mesmo. Tornando-se muito mais intelegível, na minha opinião.
As mudanças não param nesses pequenos detalhes, claro. Mas, com essas pequenas alterações é possível manter-se atualizado com as novas versões do Vagrantfile.
Eu mantenho um esqueleto do vagrant nesse repositório e uso ele em alguns projetos pra facilitar a vida.
Nelson, essas mudanças deram um pouco de trabalho por aqui. Não estava muito familiarizado com o vagrant ainda e na hora de configurar me confundiu muito, essas mudanças. Você usa o puppet para subir o LAMP, acabei fazendo bash, porque achei muito confuso o puppet :S