Mac上的Ruby on Rails开发与Vagrant

时间:2015-09-23 14:56:34

标签: ruby-on-rails macos vagrant

我正在使用Mac OS X Yosemite上的Ruby on Rails开发几个应用程序。我的主要部署操作系统是Debian 8 x64。

我听说过很多关于Vagrant的事。我应该用吗?它给我带来了什么好处?它会加速我的工作流程还是更糟糕的是:减慢它的速度?

我可以将它用作临时服务器进行部署吗?

2 个答案:

答案 0 :(得分:1)

Vagrant创建了一个虚拟机,而且它的唯一优势是你可以创建虚拟机映像,这将加快开发环境的设置(如果你打算在最近的将来雇用很多开发人员,这可能会很方便)。它还将创建一个完全隔离的环境,因此您可以确保其他应用程序不会影响您正在处理的应用程序。

在主机和VM之间进行文件同步仍然存在很多问题(至少是我最后一次尝试过),使得Vagrant的开发速度非常慢(每页必须等待20秒)。创建一个可以在主机的所有操作系统上运行的vagrant文​​件并不是一件容易的事。它还会消耗更多的机器资源。

然而,它可以非常适合登台服务器,因为它可以快速销毁和重新创建VM并提供良好的隔离,因此您可以毫无风险地测试部署脚本。

答案 1 :(得分:1)

我使用Ruby on Rails的经验有限,但我正在使用Django开发,我在Vagrant上运行所有应用程序。我相信无论技术如何,使用Vagrant的想法都是一样的。

我使用它的主要原因是您可以设置Vagrant来复制部署环境。这意味着您可以(几乎100%)确保您的生产代码在部署时能够正常工作(因为您在相同的环境中进行编码和测试)。

另外一个好处是,您拥有的应用程序越多,就越难以跟踪所需的所有软件包和依赖项。使用Vagrant,您可以设置环境以满足每个项目的准确标准。

关于天气,它会减慢或加快你的工作。我认为这取决于您的编码风格,但Vagrant共享您项目的文件夹,因此您的代码中所做的任何更改都将反映在Vagrant中。您只需要转发应用程序的端口,您几乎不会注意到Vagrant介于您和您的项目之间。这就是如果一切都设置正确。

希望我的回答有所帮助。