Vagrant文​​件和目录的自定义路径

时间:2015-09-23 11:18:31

标签: file vagrant directory vagrantfile chef-solo

我开始使用Vagrant(+ chef_solo)作为我的应用程序,现在App的文件夹包含以下文件和目录:

  ... app's files

  .vagrant
  Vagrantfile

  Cheffile
  Cheffile.lock

  data_bags

  cookbooks
  projects_cookbooks

  ... app's files

如果我可以将与Vagrant相关的文件移动到特殊目录中,那将会很棒。 我的意思是这样的:

  ... app's files

  .vagrant
  Vagrantfile

  Vagrant
    Cheffile
    Cheffile.lock

    data_bags

    cookbooks
    projects_cookbooks

  ... app's files

在这种情况下,我只会在我的应用程序的根文件夹中获得3个文件(dirs)

  ... app's files

  .vagrant
  Vagrantfile
  Vagrant

  ... app's files

我认为这对我和我的项目非常有益。

所以,我想恢复Vargant文件的文件结构。

有人知道我该怎么办? 或者Vargant文件的结构是完全硬编码的?

2 个答案:

答案 0 :(得分:0)

vagrant chef provisioning有一些可以使用的变量,因此您已经可以使用

config.vm.provision :chef_solo do |chef|
  chef.cookbooks_path = ["vagrant/cookbooks", "vagrant/projects_cookbooks"]
  chef.data_bags_path = "vagrant/data_bags"
end

我不确定Cheffile但是我相信它必须与Vagrantfile一起存储,但我不完全确定

答案 1 :(得分:0)

我想我找到了一种让我的应用程序文件夹更好的方法。 如果您想清理项目文件夹,请执行以下操作:

(我的意思是APP是HOST机器上项目的文件夹)

1)在APP文件夹中创建 Vagrant 文件夹

2)移动以下文件

.vagrant
Cheffile
Cheffile.lock
Vagrantfile
cookbooks
cookbooks_addons
bata_bags
... and all Vagrant-related files

进入APP / Vagrant文​​件夹

3)在 Vagrant 文件中添加额外的行

config.vm.synced_folder '..', '/APP'

就是这样。现在,您将所有与Vagrant相关的文件放入Vagrant文​​件夹

现在你应该使用 vagrant up vagrant ssh vagrant halt 进入 APP / Vagrant 文件夹。< / p>

您应该使用虚拟机中的 / APP 文件夹来访问您的项目代码。

看起来对我很好!