构建和部署ASP.NET网站行业标准

时间:2011-11-06 04:09:07

标签: asp.net visual-studio-2010 deployment msbuild tfsbuild

我有一个带有ASP.NET网站应用程序和10个类库的Visual Studio 2010解决方案。我的要求是每天下午5:00在QA Web服务器中自动构建和部署应用程序。此外,我还有本地机器的不同 web.config 文件。 QA机器。

看起来人们这么做的方式很多。

  1. MS Build定义
  2. TFS构建定义&基于工作流程的定义
  3. Visual Studio 2010中的Web部署项目
  4. 在TFS构建队列中指向解决方案文件(而不是构建文件)
  5. 这方面的行业标准是什么,最好的方法是什么?有人可以一步一步指出这样做吗?

1 个答案:

答案 0 :(得分:1)

最佳方式?这是您的团队在特定部署环境中最舒适的工作。与没有“行业标准”部署基础架构的方式相同,部署中没有“行业标准”。

仅仅为了配置,我见过团队

  • 使用在服务器上运行的自定义批处理文件从网络共享中提取代码,然后在配置文件中搜索和替换标记

  • 使用Powershell脚本从Nexus存储库中提取代码,搜索并替换令牌,然后使用PSExec调用服务器上的另一个Powershell脚本来提取标记化代码

  • 创建自定义Nant脚本,替换web.config中引用为包含的配置文件,然后复制到主机

  • 手动复制和调整配置文件

所有人在他们的情况下都有其特别的优势:例如,拥有手动配置文件的系统有一个简单易用的内部站点,每年只部署几次。真的不值得建立复杂,复杂的自动部署。

所以我建议你仔细看看你和你的团队实际需要什么,你有空的时间,以及你能承受多少自动化。

军械库中的有用工具包括:

  • Web配置转换,可以根据使用的构建配置转换web.config个文件。这里引用MSDN:http://msdn.microsoft.com/en-us/library/dd465326.aspx - 这些都是相对较新的,并且一旦你的语法被整理出来就能很好地工作。

  • Windows Powershell ,一种非常棒的脚本语言,它是动态的,但其中包含所有的.NET。

  • MSBuild,在Microsoft系统中无法避免

我个人倾向于构建您认为最初需要的更多自动化,尤其是对于需要频繁部署以解决问题的新系统。