Web 应用部署和多个版本

Posted

技术标签:

【中文标题】Web 应用部署和多个版本【英文标题】:Web-app deployment and multiple versions 【发布时间】:2012-02-29 19:37:00 【问题描述】:

我很想知道其他开发人员如何处理网络应用的版本控制和部署不同的版本。根本问题是,当您部署新版本时,有人可能正在使用您的网络应用程序,此时他们没有客户端的 javascript 等已过时。

在客户端对媒体进行版本控制很容易,但如果您要版本化,您还需要对业务逻辑和数据库进行版本化,这可能会导致事情变得混乱......

所以我看到了几种处理方法:

    部署新版本时在网站上显示“升级”通知。

    版本标记客户端并拒绝从旧客户端源向新版本提交的任何内容。很公平,但它并不能真正与持续部署齐头并进。

    连续数据库迁移 - 同时运行多个版本的应用程序(尽可能将用户迁移到新版本)。这将需要对旧数据库模式的任何更新“转发”到新模式。似乎最适合部署,但也可能非常复杂。

    介于三者之间。

我应该注意,我知道担心这种事情超出了大多数应用程序的需要,但我正在考虑它,我很想知道其他人如何处理它。

【问题讨论】:

复杂问题。查看以下答案:***.com/questions/389169/… 【参考方案1】:

有很多工具可以满足您的确切要求。像 Phing 和 Phingistrano。 Git 也使它变得简单,但不会显示离线通知和数据库部署。我建议不要在实时服务器上进行自动部署,在登台时使用自动部署,在实时服务器上使用手动部署。另外在google上找持续集成试试teamcity

【讨论】:

以上是关于Web 应用部署和多个版本的主要内容,如果未能解决你的问题,请参考以下文章

使用 TFS 中的 Web 部署在不同的网站上部署多个 Web 应用程序

tomcat部署web应用的4种方法以及部署多个应用

我们能否从单个devops存储库为多个Web应用程序创建多个部署

AWS Beanstalk 跨多个 AWS 账户部署

如何在tomcat中部署多个Web应用程序?

通过 Azure DevOps 将多个应用程序部署到同一个 Azure Web 应用程序