将现有部署升级到最新版本的最佳方法

时间:2011-06-13 15:35:32

标签: c# asp.net mysql deployment mercurial

我需要自动化将应用程序的现有部署升级到应用程序的最新稳定版本的过程。我目前有一个计划,通过将每个更改存储在升级应用程序中,然后按顺序从版本升级到每个新版本,直到我到达最新版本。每次我们有一个新的稳定版本时,我会强制所有开发人员将升级代码添加到升级应用程序中。这不会那么复杂,除了我们有一个MySQL数据库,其中架构有时会改变,我们添加存储过程。此外,我们通常必须换掉一些二进制文件。该应用程序由Web应用程序和Windows服务组成。

我的问题是,有更简单的方法吗?在我看来,我应该能够打包Mercurial存储库并自动将更改推送到已部署的应用程序。我正在为应用程序使用C#.NET,MySQL和ASP.NET。

2 个答案:

答案 0 :(得分:0)

我理解为什么您需要对模式更改进行顺序升级,但为什么要对应用程序执行相同的操作而不是一步升级?无论如何,像KwateeSDCM或Capistrano这样的部署工具可以自动部署到dev / qa / production服务器。 KwateeSDCM保留了每个文件的MD5哈希值,允许它进行差异升级,这对于大型应用程序进行频繁升级只会影响小文件非常有用,因此它最终可以满足您的需求。

答案 1 :(得分:0)

我只是让我的一个程序员编写一个非常智能的db脚本,不需要存储顺序更改。它只会将当前架构与新架构进行比较并进行更改。这样,我就不用担心了。