我目前在远程服务器( Debian )的(半)生产环境中设置 RoR应用程序。
我的筹码是:
它现在正常工作,但设置它真是令人讨厌(冲突和旧的Debian软件包)。因此,一旦它工作,我就在远程执行应用程序代码中的所有自定义。它可以作为临时解决方案(适用于小修复),但现在我需要深入挖掘,因此我需要一个完整的本地开发环境(通过适当的调试)。
尽可能忠实地在本地复制我的生产设置( Ubuntu )的最佳方法是什么?我对安装的众多宝石感到有点困惑(因为我觉得它只是在“只要它工作”状态就不要触摸)。
此时切换到远程服务器上的 RVM 是值得的吗?总的来说,在本地开发时,您如何应对具有单独依赖关系的多个RoR项目?
最后,在我复制堆栈后,如何处理(子)域?从this question开始,我认为修改/etc/hosts
应该足够了,但是有更好的方法可以让实际的制作网站保持可访问状态吗?
答案 0 :(得分:1)
我有一个类似的设置,Ubuntu作为我的本地主机,Centos作为我的远程主机。我首先设置了我的远程(生产)服务器,然后想在我的本地(开发)服务器上复制它。
但是,我确实希望根据项目的要求在不同的Ruby环境中进行开发。
所以,我在我的本地服务器上设置RVM,其中一个RVM Ruby @ Gemset配置与我在生产服务器上完全相同。
根据您使用的应用程序及其ruby版本要求,您可以在生产服务器上切换到RVM。
请记住充分利用RVM的.rvmrc
项目文件,default
和system
标记。