从SVN将ASP.Net网站部署到多个服务器的方法?

4
我需要从SVN部署网站到不同的服务器,这些服务器都在我们自己的网络中。目前代码尚未编译,但将来可能会编译。
首先,需要将网站部署到开发服务器进行开发人员测试。
一旦开发人员确认无误,就会将其部署到测试服务器供测试人员测试。
最终确认后,将部署到服务器集群中的两个生产服务器。
每个服务器在web.config文件中有一些不同的设置(当然除了两个生产服务器)。我想使用模板,就像Ruby on Rails世界所做的那样。这似乎是处理多个web.config文件的优雅解决方案。
我还需要创建一个文件列表/报告,列出自上次部署以来更改的文件和更改内容。
我正在考虑编写一个脚本,将执行以下操作: 1. 获取要部署到的服务器和修订版本的参数
2. 使用svn export -r <deploy revision>将源代码导出到目录中
3. 删除web.config文件
4. 使用ttree(一个模板工具http://template-toolkit.org/)创建正确的web.config文件
5. 使用svn list -r <deploy revision>:<current server revision>创建文件更改列表
6. 存储网站的<current server revision>以便下次运行脚本时使用
我的问题是这似乎不是最优雅的解决方案。它可能会变得难以维护,而我更喜欢使用已经可用的工具,而不是重新发明轮子。不幸的是,我认为MSDeploy不能做我需要的事情,但如果它能做到我需要的事情,我很乐意使用它或任何其他工具。有人知道任何适合此任务的工具吗?还是脚本是唯一的选择?
1个回答

1

看看TeamCity。我已经设置了我的构建服务器,以便根据构建配置使用不同的设置在“一键式”中部署到不同的环境中。它相对容易设置,并直接与Subversion和其他源代码控制系统集成。这将是您正在处理的问题的更优雅的解决方案...


非常遗憾,目前源代码已部署到Web服务器上,但是在我整理开发流程之后,我将会考虑使用CI服务器并从它们中进行部署。 - TheLukeMcCarthy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接