如何使用Vagrant打包文件?

7

我使用以下命令创建了一个 Vagrant 箱:

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

manifests/ 是一个包含 Puppet 配置文件及其子目录中一些与主机构建过程相关的文件的目录。在 Vagrantfile 文件中,如下所示调用了 Puppet:

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

当我查看Vagrant创建的打包.box归档文件时,我看到位于box_name_here.box/includes/manifests的文件夹。然而,当我尝试运行vagrant up时,它会出现以下错误:

Puppet指定的清单路径不存在:c:/vagrant/manifests

这些文件在其他地方吗?
我看到了这篇文章:https://github.com/mitchellh/vagrant/issues/344,但是答案有点模糊不清;我不知道如何将modulepath响应转换为我的manifests_path问题。
我修改了vagrantfile,使该行读取:
puppet.manifests_path = "./manifests"

...但这并没有解决问题。我仍然收到相同的错误信息。

1个回答

8

经过一些实验,非常显而易见的答案是:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接