Rails应用程序服务器的生命周期管理

| 我们正在开发一个具有iPhone客户端和Rails服务器的应用程序。我们已经发布了第一个版本,并且现在开始在1.1版本上工作。 我们想知道是否有任何工具(外部或Hostingrails提供)来满足这两个基本要求: -Rails应用程序的开发/生产版本 -应用程序的同时实时版本(版本API),例如,以继续支持客户端应用程序iPhone的旧版本。 我们目前正在考虑的第一种方法是针对每个我们想要的API版本复制应用程序,每个版本都由特定的URL引用,例如:myapp.com/v1,myapp.com/v2。 .. 整个堆栈本身将被复制以具有实时/生产版本和开发版本。一旦测试,开发版本将与生产版本切换。 您如何看待这种方法?是否有任何工具可以管理应用程序的生命周期? Rails是否具有便利的内置功能? 谢谢     
已邀请:
最简单的事情就是保持您的API向后兼容,从而消除了维护两个版本的API的需要,并且如果您必须以破坏向后兼容性的方式对其进行扩展,则请弃用旧的API并对其进行真正的终止日期,这样您就不会无限期地支持它了。 如果您绝对必须走这条路,请先阅读Fowler关于该主题的博客文章(http://martinfowler.com/bliki/TolerantReader.html),然后看一下命名API路由的空间。在Rails中,您可以使用命名空间的路由和控制器来完成此操作,因此您的原始api可能位于
/application/endpoint
,而新版本可能位于
/application/v2/endpoint
(我假设您无法轻易更改旧客户端的端点) 我不知道有任何工具明确声称可以解决您要解决的问题,但是我认为这与开发人员努力工作而不需要它们有关,而不仅仅是它们的想法。在Rails中无法解决。     
您是否考虑过使用子域?:http://railscasts.com/episodes/221-subdomains-in-rails-3     

要回复问题请先登录注册