Ruby on rails 您是否将全部或部分开发环境虚拟化?

Ruby on rails 您是否将全部或部分开发环境虚拟化?,ruby-on-rails,development-environment,virtualization,Ruby On Rails,Development Environment,Virtualization,我一直在考虑虚拟部分或全部RoR开发环境 理论上,由于封装,这可能具有许多优点 轻松管理特定于应用程序的配置 沙盒gems和插件依赖项 跨平台 即插即用 虚拟化商品,如快照等 在不同的开发阶段(开发、测试、分段等),通过多个设备分离关注点 然而,在实践中,我的第一次试用确实破坏了我的工作流程。 我的UbuntuBox运行的是一个无头VM UbuntuServer,我把它放进了一个类似于你在云上工作的服务器中,但是它可以本地访问源文件,并且可以从主机在gVim中编辑(显然) 我的问题主要是由于

我一直在考虑虚拟部分或全部RoR开发环境

理论上,由于封装,这可能具有许多优点

  • 轻松管理特定于应用程序的配置
  • 沙盒gems和插件依赖项
  • 跨平台
  • 即插即用
  • 虚拟化商品,如快照等
  • 在不同的开发阶段(开发、测试、分段等),通过多个设备分离关注点
然而,在实践中,我的第一次试用确实破坏了我的工作流程。 我的UbuntuBox运行的是一个无头VM UbuntuServer,我把它放进了一个类似于你在云上工作的服务器中,但是它可以本地访问源文件,并且可以从主机在gVim中编辑(显然)

我的问题主要是由于从主机编辑源代码,并试图依靠来宾来完成ruby的所有事情,例如rails.vim不喜欢。 尽管我已经被暗示为这个特定的vim问题提供了一些可能的解决方法,但它仍然相当麻烦

另一种选择是运行一个完整的来宾操作系统,并从中编辑源代码,但不知何故,这对我来说并不真正有吸引力

我甚至还没有尝试将cvs加入到混合中,但我可以预见,作为另一个令人头痛的来源,这将使这个设置变得笨拙,并且几乎无法达到目的

所以我还没有找到一个可行的解决方案


您是否尝试过将部分或全部开发环境虚拟化,并设法不影响您的工作流程、生产力或环境的友好性,或者更好地改进它?

绝对是。然而,对于每个人来说,并没有真正理想的方法——经过大量实践后,你会发现这取决于你对什么最满意。我们使用虚拟化的一些方法:

  • 在Windows XP中虚拟化完整的.NET开发环境,包括VS 2008、IIS、MS SQL Server
  • CentOS中的虚拟化完整PHP+RoR开发环境
  • 在Windows XP中虚拟化了多个完整的Java环境,包括Eclipse、Tomcat/Jboss、MySQL和Apache
  • 在Server2003、Server2008、Ubuntu、CentOS、Red Hat和openSUSE中虚拟化了多个完整的服务器环境(带有GUI)
在您的情况下,我会说虚拟化整个桌面,然后克隆它,这样您就可以运行多个实例,在这些实例上您可以尝试不同版本的gem包、插件和配置。如果您的主机有足够的RAM(至少4GB),您应该能够运行至少3个实例,每个实例需要1GB的RAM。经验法则是始终为主机操作系统保留1GB

此外,如果您的计算机速度足够快,那么在虚拟实例GUI中运行时,您应该注意到几乎没有延迟,除非可能是在运行构建脚本或启动服务器时:)


顺便说一下,我们选择的虚拟化客户端是。

写得好,我自己也一直在使用VirtualBox