将应用程序更新部署到多个站点

Mis*_*sko 7 .net windows asp.net deployment

我有一个应用程序,包括ASP.NET Web应用程序,几个Windows服务和SQL Server 2005数据库.此应用程序在多个站点复制,因此每个站点都有一个包含所有部分的服务器(Web应用程序,服务和数据库).目前,部署更新的过程如下:

数据库

  1. 脚本数据库更改(使用Management Studio中的生成脚本).
  2. 在Management Studio中连接到站点的数据库.
  3. 在站点的DB上运行SQL脚本.
  4. 为每个站点重复2和3.

Web应用程序

  1. 在Visual Studio中使用发布.
  2. 从已发布的副本中删除web.config.
  3. Zip Web应用程序文件.
  4. 将zip文件复制到站点.
  5. 远程桌面进入该站点以解压缩文件.
  6. 必要时手动修改web.config.
  7. 每个站点重复4-6.

Windows服务

  1. 在Visual Studio中构建项目.
  2. Zip重建二进制文件.
  3. 将zip文件复制到站点.
  4. 远程桌面进入该站点.
  5. 停止服务.
  6. 卸载旧版本.
  7. 安装新版本.
  8. 必要时手动修改.config.
  9. 启动服务.
  10. 每个站点重复3-9.

目前有3个站点和部署令人讨厌但可管理,但在一年内我们很可能会有10或11个站点,并且不得不以这种方式部署更新会让我自杀.

所以,我正在寻找有关如何自动化此过程的建议.我已经开始研究学习MSBuild来合并配置和将文件复制到我的服务器,但我不确定它会花多长时间.谢谢.

lak*_*tak 5

使用您熟悉的任何脚本语言(看起来甚至.bat都适合您)并获得PsTools

然后,您可以使用psexec和psservice远程控制进程和服务.您仍然必须自己编写脚本,但不必远程登录(例如,解压缩和复制文件),对一台服务器起作用的是10.