【发布时间】:2013-01-17 21:19:56
【问题描述】:
假设我在我的机器上本地有一个 rails 应用程序,我在该应用程序中使用 vagrant。
我已经研究过那个流浪汉并用它做了一个盒子。
现在我把盒子给别人了。
其他人是否需要在他们的机器上本地拥有 rails 应用程序的源代码,或者他们可以使用我提供的 vagrant box 而不需要本地源代码?
【问题讨论】:
标签: ruby-on-rails vagrant
假设我在我的机器上本地有一个 rails 应用程序,我在该应用程序中使用 vagrant。
我已经研究过那个流浪汉并用它做了一个盒子。
现在我把盒子给别人了。
其他人是否需要在他们的机器上本地拥有 rails 应用程序的源代码,或者他们可以使用我提供的 vagrant box 而不需要本地源代码?
【问题讨论】:
标签: ruby-on-rails vagrant
我们在下一个方案中使用 Vagrant for VDE(虚拟开发环境)(也许它对你也有用):
在 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(内部实例)获得
【讨论】:
通常,您的 Rails 应用程序的源代码是从您自己的文件系统共享到您使用 Vagrant 运行的虚拟机;它没有存储在虚拟机的驱动器上。该应用程序实际上永远不会永久存储在盒子上。因此,将其发送给其他人将不允许他们运行该应用,因为该应用在 VM 上不存在。
欲了解更多信息,请参阅"Accessing the Project Files" on the Vagrant SSH Documentation:
访问项目文件
Vagrant 通过使用 VirtualBox 共享文件夹将您的应用程序与虚拟环境连接起来。虚拟机上的共享文件夹位置默认为
/vagrant,但可以更改。这可以通过在 SSH 会话中列出该文件夹中的文件来验证:vagrant@vagrantbase:~$ ls /vagrant index.html VagrantfileVM 对共享文件夹具有读写权限。
记住:任何更改都会在两个系统之间进行镜像。
【讨论】: