Vagrant是否需要本地源代码?

时间:2013-02-02 18:58:58

标签: ruby-on-rails vagrant

让我们说我的机器本地有一个rails应用程序,我使用该应用程序的vagrant。

我已经研究过这个流浪汉并从中制作了一个盒子。

现在我将这个盒子交给其他人。

其他人是否需要在他们的机器上本地拥有rails应用程序的源代码,或者他们可以使用我提供的流浪盒而无需本地源代码?

2 个答案:

答案 0 :(得分:3)

我们在下一个方案中使用Vagrant用于VDE(虚拟开发环境)(也许它对您也有用):

  1. 我们将源代码保存在git下(可以是svn / csv / etc);
  2. 我们将Vagrantfile保存在git repository的根文件夹中;
  3. 在Vagrantfile中我们添加:

    config.vm.box_url = "http://<url for our box>"
    
    nfs = !Kernel.is_windows?
    
    config.vm.share_folder "v-root", "/tmp/vde", ".", :nfs => nfs
    
  4. 我们将盒子存放在S3上非常简单,但最简单的方法就是dropbox。

    所以为了分享您的资源,您只需要共享资源库。在Readme.md你 可以描述启动vde的几个步骤

    with share_folder您可以从文件夹/ tmp / vde中的vde(内部实例)获取所有资源

答案 1 :(得分:1)

通常,Rails应用程序的源代码是从您自己的文件系统共享到您使用Vagrant运行的虚拟机;它不是存储在虚拟机的驱动器上。该应用程序永远不会永久存储在盒子上。因此,将其发送给其他人将不允许他们运行该应用程序,因为该应用程序在VM上不存在。

有关详细信息,请参阅"Accessing the Project Files" on the Vagrant SSH Documentation

  

访问项目文件

     

Vagrant使用VirtualBox共享文件夹将您的应用程序与虚拟环境桥接。虚拟机上的共享文件夹位置默认为/vagrant,但可以更改。这可以通过在SSH会话中列出该文件夹中的文件来验证:

vagrant@vagrantbase:~$ ls /vagrant
index.html Vagrantfile
     

VM具有对共享文件夹的读写权限。

     

请记住:任何更改都会在两个系统中进行镜像。