2012-12-29 16 views
7

तो मैं निम्न आदेश के साथ एक Vagrant बॉक्स बनाया:एक वाग्रेंट बॉक्स के साथ फ़ाइलों को कैसे पैकेज करें?

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

manifests/ एक कठपुतली प्रकट और कुछ प्रावधान की प्रक्रिया के दौरान उपयोग की गई फ़ाइलों के साथ कुछ उपनिर्देशिका के साथ एक निर्देशिका है। कठपुतली तो जैसे Vagrantfile में कहा जाता है:

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

जब मैं पैक .box संग्रह Vagrant बनाता है का पता लगाने, मैं box_name_here.box/includes/manifests पर स्थित फ़ोल्डर दिखाई। हालांकि, vagrant up निम्न त्रुटि के साथ मर जाता है जब मैं इसे चलाने के लिए प्रयास करें:

प्रकट होता पथ कठपुतली के लिए मौजूद नहीं है: सी:/आवारा/प्रकट होता है

फ़ाइलें कहीं और कर रहे हैं?

मैं इस पोस्ट को देखा: https://github.com/mitchellh/vagrant/issues/344

लेकिन इस सवाल का जवाब एक सा अपारदर्शी है; मुझे नहीं पता कि मेरी manifests_path समस्या के लिए मॉड्यूलपैथ प्रतिक्रिया का अनुवाद कैसे करें।

मैं vagrantfile बदल ताकि लाइन पढ़ता

puppet.manifests_path = "./manifests" 

... लेकिन यह है कि इस समस्या को दूर नहीं किया। मुझे अभी भी एक ही त्रुटि संदेश मिलता है।

उत्तर

7

कुछ प्रयोग करने के बाद, अविश्वसनीय रूप से स्पष्ट जवाब है:

puppet.manifests_path = File.expand_path("../manifests", __FILE__) 
संबंधित मुद्दे