我对将MVC Web应用程序部署到不同环境的最佳机制有一些疑问。以前我使用过安装项目(.msi),但由于这些已经在VS2012中停止了,我希望转向另一种选择。
让我解释一下我目前的设置。我目前使用TFSBuild 2010与Team Foundation Server进行CI设置,以进行源代码管理。
许多开发人员在本地计算机上工作并检入TFS服务器。我们定期部署到单个服务器开发环境和具有2个服务器的负载平衡qa环境。我们当前的流程包括安装msi,该msi执行以下一些自定义操作:
这是当前的流程。现在我想做一些改变。首先,我需要替代msi的。从som研究中我相信通过IIS进行Web部署并使用MsDeploy是最好的选择。我可以使用Web配置转换进行Web配置修改。这是正确的吗?如果是的话,我能概述一下我需要做什么吗?
其次我想通过TFSBuild设置持续交付,我不知道如何实现这一点,是否可以概述如何将其集成到我当前的设置中?而不是检入驱动,我希望它在检入后是用户驱动的。此外,它是否也可以在解决方案中的数据库项目中运行数据库脚本。
最后,还有一个生产环境,但是我想手动部署它 - 我的进程是否也可以生成一个我可以手动安装的工件?
答案 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中发布了一些相关信息。