我们有专用的DEV,TEST,STAGE和PRODUCTION服务器。
我们也有一个专门的生成机器运行巡航控制。
巡航控制配置为持续集成构建,该构建在签入代码后运行。它还配置为单独的开发,质量保证,阶段和生产任务。
要部署到开发中,首先从SVN中检索代码并构建,然后将“预编译的Web”文件夹复制到开发网站,并将Web服务项目复制到开发应用程序服务器。巡航控制还被配置为在构建开始之前对源代码进行“标记”,以便我们稍后可以重新构建构建,或者如果我们需要做一个热修复,则可以从标记分支。
要部署到QA,文件将从开发机器复制到QA机器。
同样,要部署到舞台,将文件从QA机器复制到舞台机器。
最后,要部署到生产环境,这些文件将再次从舞台机器复制到生产机器。
要配置每个环境,我们有一个自定义工具,它是修改连接字符串的每个环境的巡航控制任务的一部分,“debug = true | false”,“customErrors = Off | RemoteOnly”以及其他特定于环境的设置。
因此,每个环境都可以通过巡航控制仪表板上的按钮进行部署。
一个需要注意的是,我们目前在巡航控制配置文件中配置了生产数据库密码......将它移动到其他地方会很好!
最后,让我补充一点,即使我们的生产机器在专用主机设备中,服务器也可以从我们的Cruise Control机器访问,这使得生产部署非常容易。唯一的手动步骤是加密web.config文件并删除Cruise Control提供的“AppOffline.html”文件。
让我知道如果这能帮助,或者如果您有任何疑问。
谢谢!
由于我发布了这个原始问题,我发现了WiX。它是开源的,免费的。这也是Microsoft用于开发Office 2007部署包的原因。一旦您了解了基本知识,使用它似乎很容易,并且该界面允许您在安装时选择和选择组件。 – Hooloovoo 2009-12-03 14:29:47
只是一个更新;应用发布自动化工具是专门为此设计有一群引人注目的工具在那里寻找到我最常跨越5个专用网络拆分工作比较https://en.wikipedia.org/wiki/Application_release_automation – 2016-06-27 20:56:19