1

我对将 MVC Web 应用程序部署到不同环境的最佳机制有一些疑问。以前我使用设置项目(.msi),但由于这些在 VS2012 中已停止使用,我希望转向替代方案。

让我解释一下我目前的设置。我目前有一个使用 TFSBuild 2010 和 Team Foundation Server 进行源代码控制的 CI 设置。

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

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

这是当前的过程。现在我想做一些改变。首先,我需要MSI的替代品。根据 som 研究,我认为通过 IIS 进行 Web 部署并使用 MsDeploy 是最好的选择。我可以使用 Web 配置转换来修改 Web 配置。这是正确的吗?如果是,我可以大致了解我需要做什么吗?

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

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

4

1 回答 1

1

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

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

于 2012-10-01T20:02:06.713 回答