2012-12-29 6 views
7

So habe ich eine Vagrant-Box mit dem folgenden Befehl:Wie verpacke ich Dateien mit einer Vagrant Box?

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

manifests/ ein Verzeichnis mit einer Marionette manifest ist und einige Unterverzeichnissen mit einigen Dateien während des Bereitstellungsprozesses verwendet. Puppet ist wie so in der Vagrantfile genannt:

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

Als ich das .box Archiv verpackt erkunden Vagrant schafft, sehe ich den Ordner auf box_name_here.box/includes/manifests entfernt. Allerdings stirbt vagrant up mit dem folgenden Fehler, wenn ich versuche, es zu laufen:

Der Pfad für Puppet angegeben Manifeste existiert nicht: c:/Vagabund/manifestiert

die Dateien woanders sind?

habe ich diesen Beitrag: https://github.com/mitchellh/vagrant/issues/344

Aber die Antwort ist ein bisschen undurchsichtig; Ich weiß nicht genau, wie man die Modulpfad-Antwort auf mein Manifest-Pfad-Problem übersetzt.

geändert ich die vagrantfile so, dass die Linie

liest
puppet.manifests_path = "./manifests" 

... aber das ist nicht das Problem zu beheben haben. Ich bekomme immer noch dieselbe Fehlermeldung.

Antwort

7

Nach einigen Experimenten, die unglaublich offensichtliche Antwort ist:

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