找到Vagrantfile文件夹

时间:2013-06-29 03:21:25

标签: vagrant

我正在尝试调整我的Vagrantfile,以便它在项目根目录中自动创建一个文件夹,如果它丢失了。创建文件夹没问题,但我找不到 where 来创建该文件夹。

我能够发现这个信息在Vagrant::Environment对象上可用cwd,但我无法弄清楚如何从我的Vagrantfile中获取当前实例。 Vagrant的文档似乎有点稀疏。

编辑:

我的问题不是关于如何使用Puppet。我正在写一些代码 Vagrantfile中。我想知道如何获取Vagrant::Environment的当前实例。

3 个答案:

答案 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

那应该打印目录......这样你就可以尝试用这个变量做事了。