2012-12-29 31 views
7

Yani aşağıdaki komutla bir Serseri kutu yarattım:Vagrant kutusuyla dosya nasıl paketlenir?

vagrant package --base box_name_here --vagrantfile Vagrantfile --include manifests/ 

manifests/ tezahür bir kukla ve provizyon işlemi sırasında kullanılan bazı dosyaları ile bazı alt dizinleri olan bir dizindir. Kukla şöyle Vagrantfile içinde denir: Ben Serseri oluşturur ambalajlı .box arşivini keşfetmek zaman

config.vm.provision :puppet do |puppet| 
    puppet.manifests_path = "manifests" 
    puppet.manifest_file = "web-dev.pp" 
end 

, ben box_name_here.box/includes/manifests konumunda bulunan klasörü görüyoruz. Bunu çalıştırmayı denediğinizde Ancak vagrant up aşağıdaki hata ile ölür:

Puppet için belirtilen yol yoksa tezahür: c:/serseri/

başka bir yere dosyaları mı tezahür?

Ben bu yazı gördüm: https://github.com/mitchellh/vagrant/issues/344

Fakat cevap biraz opak; Benim manifests_path sorunuma modulepat yanıtını nasıl çevireceğimi bilmiyorum. Satır

puppet.manifests_path = "./manifests" 

okur böylece

Ben vagrantfile değişmiş ... ama bu sorunu düzeltmek vermedi. Hala aynı hata mesajını alıyorum.

cevap

7

bazı denemeler sonra, inanılmaz derecede uygun cevap:

puppet.manifests_path = File.expand_path("../manifests", __FILE__)