我有一个由ASP.NET web应用程序、几个Windows和一个Server 2005数据库组成的应用程序。此应用程序在多个站点上进行复制,因此每个站点都有一个包含所有部分(web应用程序、服务和DB)的服务器。目前,部署更新的过程如下:
数据库
Web应用
Windows服务
目前有3个站点和部署是恼人的,但易于管理,然而,在一年之内,我们很可能会有10或11个站点,而必须以这种方式部署更新将使我自杀。
因此,我正在寻找关于如何自动化这一过程的建议。我已经开始学习将配置合并并将文件复制到我的服务器上的MSBuild,但我不知道它会走多远。谢谢。
发布于 2009-03-26 22:28:42
使用您熟悉的任何脚本语言(看起来甚至连.bat都适用于您),并获得PsTools
然后,您可以使用psexec和psservice远程控制进程和服务。您仍然需要自己编写脚本,但您不必远程登录(例如。要解压缩和复制文件),一个服务器的工作内容将适用于10个服务器。
发布于 2009-03-27 00:09:02
MSBUILD几乎可以完成您所需要的一切。,但听起来您需要一些定制的任务来完成它完全自动化。但只要付出一点小小的努力,这是可能的。
MSBUILD实际上已经是您的项目的一部分。这是项目文件本身。它基本上是所有事物背后的XML。在这个XML中,会触发PreBuild和PostBuild事件,您可以进行必要的复制、粘贴命令等等。
此外,您可能对Web部署项目感兴趣,这些项目允许您为构建的每个环境拥有多个web.config文件。
对于更高级的场景,您可以创建与MSBUILD事件集成的自定义任务。您甚至可以在这些任务中使用条件。下面提到的都是关于这一点的。
有关MSBUILD的更多信息,请访问http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx
发布于 2010-11-02 21:34:14
对于数据库开发,请尝试使用http://www.deltasql.org/wiki。
有一个中央服务器(在PHP/mySQL中,可以很容易地与XAMPP包一起安装),如果您存储您的SQL脚本。在每个模式上,您都需要添加一个表tbsynchronize,其中包含在该数据库上执行的最新脚本。然后,deltasql服务器生成一个同步脚本,其中包含该模式缺少的脚本。
https://stackoverflow.com/questions/687781
复制相似问题