c# - 将现有部署升级到最新版本的最佳方式

标签 c# asp.net mysql deployment mercurial

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

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

最佳答案

我理解为什么您需要对架构更改进行顺序升级,但为什么您会对应用程序执行相同的操作而不是一步升级?不管怎样,有像 KwateeSDCM 或 Capistrano 这样的部署工具可以自动部署到 dev/qa/production 服务器。 KwateeSDCM 保留每个文件的 MD5 散列值,这允许它进行差异升级,这在您有大型应用程序且频繁升级只影响小文件时非常好,因此它最终几乎可以做您想要的。

关于c# - 将现有部署升级到最新版本的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6332620/

相关文章:

asp.net - 跨多个应用程序共享存储过程

asp.net - Microsoft.VisualStudio.Web.PageInspector.Runtime.NativeMethods.CloseHandle

mysql - 在使用 DB::raw 的 laravel 5 中,如何检索 mysql_info()?

mysql - 无法通过 Workbench 或 MS Access 更新 MySQL View 中的数据

Mysql导入表插入查询

c# - 使用派生类从 C# 中的 XML 反序列化对象

C# 按住鼠标事件

c# - HttpClientHandler 不包含 DefaultProxyCredentials 的定义

c# - 如何使用单声道将 .NET Windows 服务应用程序迁移到 Linux?

javascript - 使用javascript更改iframe的src不显示新页面