所以我有一个.net Web应用程序,我使用VS 2010“发布”功能部署到服务器。应用程序的每个实例都有自己唯一的连接字符串,指向自己的数据库。
我有80个此应用程序的实例。我希望能够使用应用程序的“主”版本更新1个实例,然后让其他79个实例自行更新,但保留其现有的连接字符串。
实现这一目标的最常见/标准方法是什么?
答案 0 :(得分:0)
有一些简单的部署工具可以处理多个服务器上的二进制包,同时保持自定义配置。 KwateeSDCM是一个可以做到这一点的免费工具。你可以在freshmeat上查找
(我似乎无法回复你的评论所以我编辑了我的答案) 肯 - 是的,医生真的很苗条。他们有一个实际上更有用的视频教程,我也从他们的一个开发人员那里获得了一些指导。老实说,我对asp.net知之甚少,但从你所描述的内容看起来与我在我的30台服务器上使用tomcat web应用程序(war)设置的内容非常相似。您定义了一个“包”,它只是您必须部署的文件/可执行文件的压缩(或配对)存档,配置目标服务器,然后告诉sdcm哪个包在哪个服务器上。您可以在配置文件中使用某种环境变量概念(在您的情况下,%{connection_string})具有占位符,这些占位符在安装时将替换为您在sdcm配置中指定的特定于服务器的值。通过大约半天的工作,我设法配置kwateesdcm,这样只需单击一下就可以连接到每个服务器,停止tomcat,复制我的档案,在需要的地方展开它们,替换服务器特定的参数并重新启动tomcat以获取所有变化考虑在内。很酷的是,sdcm还会存档以前的存档/配置,因此如果我最新的东西出现问题,我可以快速恢复到以前的稳定版本,因此更新了很多压力。令人讨厌的是,它需要每个目标服务器上的ssh服务器。我通过在我的服务器上安装winsshd来解决这个问题
答案 1 :(得分:0)
通过web.config文件(解决方案资源管理器)的属性,您可以将“构建操作”设置为“无”。
然后将webapp部署到本地目录。现在没有那个web.config文件。
然后在80个应用程序上复制该本地目录。你可以自动完成这一步。