1

假设我在我的机器上本地有一个 rails 应用程序,并且我在该应用程序中使用 vagrant。

我已经在那个流浪者身上工作过,并用它做了一个盒子。

现在我把盒子给了其他人。

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

4

2 回答 2

3

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

  1. 我们将源代码保存在 git 下(可以是 svn/csv/etc);
  2. 我们将 Vagrantfile 保存在 git 存储库的根文件夹中;
  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
    

我们将盒子存储在 S3 上很容易,但最简单的方法是保管箱。

因此,要共享您的资源,您只需要共享存储库。在 Readme.md 中,您可以描述启动 vde 的几个步骤

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

于 2013-02-02T19:13:25.327 回答
1

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

有关更多信息,请参阅Vagrant SSH 文档中的“访问项目文件”

访问项目文件

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

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

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

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

于 2013-02-02T19:02:20.613 回答