2012-12-29 18 views
7

Więc stworzyłem Vagrant pole za pomocą następującego polecenia:Jak spakować pliki za pomocą pudełka Vagrant?

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

manifests/ jest katalogiem z lalek oczywistego i niektóre podkatalogów z niektórych plików używanych podczas procesu tworzenia rezerw. Marionetka jest nazywany w Vagrantfile tak:

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

Kiedy badam spakowany archiwum .box Vagrant tworzy widzę folder znajdujący się box_name_here.box/includes/manifests. Jednak vagrant up umiera z powodu następującego błędu, gdy próbuję go uruchomić:

manifestów ścieżka określona dla Lalek nie istnieje: c:/włóczęga/manifestuje

Czy pliki gdzieś indziej?

widziałem tego posta: https://github.com/mitchellh/vagrant/issues/344

Ale odpowiedź jest nieco nieprzejrzysty; Nie bardzo wiem, jak tłumaczyć odpowiedź modulepatha na mój problem manifestests_path.

I zmienił vagrantfile tak, że linia czyta

puppet.manifests_path = "./manifests" 

... ale to nie rozwiąże problemu. Nadal dostaję ten sam komunikat o błędzie.

Odpowiedz

7

Po kilku eksperymentach, niewiarygodnie Oczywistą odpowiedzią jest:

puppet.manifests_path = File.expand_path("../manifests", __FILE__) 
Powiązane problemy