我正在尝试调整我的Vagrantfile,以便它在项目根目录中自动创建一个文件夹,如果它丢失了。创建文件夹没问题,但我找不到 where 来创建该文件夹。
我能够发现这个信息在Vagrant::Environment
对象上可用cwd
,但我无法弄清楚如何从我的Vagrantfile中获取当前实例。 Vagrant的文档似乎有点稀疏。
编辑:
我的问题不是关于如何使用Puppet。我正在写一些代码在 Vagrantfile中。我想知道如何获取Vagrant::Environment
的当前实例。
答案 0 :(得分:23)
要查找Vagrantfile目录,请在Vagrantfile中尝试:
vagrant_root = File.dirname(__FILE__)
答案 1 :(得分:0)
默认情况下,根目录为/home/vagrant
以下是使用new_folder
用户
vagrant
的示例
exec { 'create folder':
cwd => '/home/vagrant',
user => 'vagrant',
command => 'mkdir new_folder',
unless => "/usr/bin/test -d /home/vagrant/new_folder",
}
答案 2 :(得分:0)
我不确定这个Vagrant::Environment
对象是什么......它似乎没有文档......
如果我想在与Vagrantfile
相同的目录中创建一个新文件夹,我只会使用shell配置程序:
config.vm.provision :shell, :inline => "mkdir -p /vagrant/test_folder;"
如果您想在主机上包含Vagrantfile
的文件夹,请尝试将其放入Vagrantfile
:
puts Dir.pwd
那应该打印目录......这样你就可以尝试用这个变量做事了。