【发布时间】:2012-02-29 19:37:00
【问题描述】:
我很想知道其他开发人员如何处理网络应用的版本控制和部署不同的版本。根本问题是,当您部署新版本时,有人可能正在使用您的网络应用程序,此时他们没有客户端的 Javascript 等已过时。
在客户端对媒体进行版本控制很容易,但如果您要版本化,您还需要对业务逻辑和数据库进行版本化,这可能会导致事情变得混乱......
所以我看到了几种处理方法:
部署新版本时在网站上显示“升级”通知。
版本标记客户端并拒绝从旧客户端源向新版本提交的任何内容。很公平,但它并不能真正与持续部署齐头并进。
连续数据库迁移 - 同时运行多个版本的应用程序(尽可能将用户迁移到新版本)。这将需要对旧数据库模式的任何更新“转发”到新模式。似乎最适合部署,但也可能非常复杂。
介于三者之间。
我应该注意,我知道担心这种事情超出了大多数应用程序的需要,但我正在考虑它,我很想知道其他人如何处理它。
【问题讨论】:
-
复杂问题。查看以下答案:stackoverflow.com/questions/389169/…
标签: database deployment versioning web-applications