如何使用TFSBuild为MVC应用程序设置持续部署?

时间:2012-09-30 18:42:16

标签: deployment msbuild continuous-integration tfsbuild continuous-deployment

我对将MVC Web应用程序部署到不同环境的最佳机制有一些疑问。以前我使用过安装项目(.msi),但由于这些已经在VS2012中停止了,我希望转向另一种选择。

让我解释一下我目前的设置。我目前使用TFSBuild 2010与Team Foundation Server进行CI设置,以进行源代码管理。

许多开发人员在本地计算机上工作并检入TFS服务器。我们定期部署到单个服务器开发环境和具有2个服务器的负载平衡qa环境。我们当前的流程包括安装msi,该msi执行以下一些自定义操作:

  • 使用app_offline.htm文件使当前应用程序脱机
  • 在数据库脚本中运行(来自解决方案中的数据库项目)
  • 修改web.config(qa的每个Web服务器都不同)
  • 标记代码
  • 通过http请求预热每个部署的文件

这是当前的流程。现在我想做一些改变。首先,我需要替代msi的。从som研究中我相信通过IIS进行Web部署并使用MsDeploy是最好的选择。我可以使用Web配置转换进行Web配置修改。这是正确的吗?如果是的话,我能概述一下我需要做什么吗?

其次我想通过TFSBuild设置持续交付,我不知道如何实现这一点,是否可以概述如何将其集成到我当前的设置中?而不是检入驱动,我希望它在检入后是用户驱动的。此外,它是否也可以在解决方案中的数据库项目中运行数据库脚本。

最后,还有一个生产环境,但是我想手动部署它 - 我的进程是否也可以生成一个我可以手动安装的工件?

1 个答案:

答案 0 :(得分:1)

Vishal Joshi在他的博客上有一些相当不错的信息http://vishaljoshi.blogspot.com/2010/11/team-build-web-deployment-web-deploy-vs.html。它的缺点是您的部署密码包含在传递给msbuild的属性中。

Syed Hashimi还在另一个问题Team Build: Publish locally using MSDeploy中发布了一些相关信息。