13

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

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

编辑:

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

4

3 回答 3

25

要找到 Vagrantfile 目录,请在 Vagrantfile 中尝试:

vagrant_root = File.dirname(__FILE__)
于 2013-08-26T17:05:28.287 回答
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",
  }
于 2013-06-30T00:11:29.683 回答
0

我不确定这个Vagrant::Environment对象是什么......它似乎没有记录......

如果我想在与我相同的目录中创建一个新文件夹,Vagrantfile我只需使用 shell 配置程序:

  config.vm.provision :shell, :inline => "mkdir -p /vagrant/test_folder;"

Vagrantfile如果您想要在主机上包含 的文件夹,请尝试将其放入您的Vagrantfile

  puts Dir.pwd

那应该打印目录...这样您就可以尝试使用该变量进行操作。

于 2013-07-01T08:59:58.230 回答