我需要将SVN中的网站部署到我们自己网络中的不同服务器上。该代码目前尚未编译,但可能会在未来编译。
首先,需要将站点部署到开发服务器以供开发人员进行测试。
开发人员注销后,它将部署到测试人员的登台服务器。
一旦给出最终签名,它将被部署到服务器场 - 两个实时服务器。
每个服务器在web.config中有几个设置是不同的(当然除了两个活动服务器)。我想使用模板,Ruby on Rails世界的方式。它似乎是多个web.config文件的优雅解决方案。
我还需要创建一个列表/报告,列出已更改的文件以及自上次部署以来的更改。
我正在考虑编写一个将执行以下操作的脚本:
1.将服务器的args部署到,并进行修订
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会做我需要的东西,但我很乐意使用它,或者其他任何东西,如果它能做我需要的东西。有没有人知道任何适合任务的工具,或者脚本是我唯一的选择吗?
答案 0 :(得分:1)
结帐TeamCity。我有我的构建服务器设置,以便它可以在“一键式”中基于构建配置部署到具有不同设置的不同环境。设置和直接与Subversion和其他源代码控制系统集成是相对轻松的。对于您正在处理的问题,这将是一个更优雅的解决方案......