如何在ASP.NET中自定义发布?

时间:2009-06-21 15:24:27

标签: asp.net powershell msbuild publishing

我正在开发一个相当新的项目,我们从头开始。因此,不仅需要开发Web应用程序本身,而且需要从头开始发布站点和配置Web服务器等的整个过程。

这个问题可能更适合服务器故障,但这实际上取决于答案。所以,让我们试一试。

我曾经通过VS2008发布我们的网站(右键点击网站,发布网站,等待......完成)我需要以某种方式调整流程并触发其他一些任务,例如: - 将一些文件夹从我的dav机器复制到Web服务器 - 删除测试数据库并在其上运行一些脚本 - 也许还有一些我现在不记得了。

我正在阅读最明显的解决方案,如MSBuild,Powershell和VSTS2008,但我真的不想深入研究它们,直到我知道,这些工具实际上可以解决我的问题。所以大家好,我很确定你们很多人对这些工具有很多了解,或者知道更好的工具。请告诉我。我真的很感激。

这就是我生活的环境: - VS 2008 - VSTS 2008 - SQL Server 2008 - Windows Server 2008

更新:感谢目前为止的出色答案,但我特别希望将解决方案集成到Visual Studio Team Foundation Server中,因为我们已将其用于源代码管理。

干杯, 史蒂夫

3 个答案:

答案 0 :(得分:4)

我们使用Subversion部署我们的Web应用程序,并对此非常满意。

构建服务器编译应用程序,将其复制到部署目录并检查对Subversion存储库的更改。好吧,我承认这不是微不足道的,但是值得在这里投资......因为在服务器上部署现在非常容易。优点是:

  • 只将必要的文件复制到服务器,停机时间最短(使用svn update)
  • 验证服务器部署的版本是一件小事,而且跨多个Web服务器很容易获得一致的版本
  • 如果你搞砸了,只需点击2次就可以恢复到之前的版本
  • 部署新版本时需要删除文件。在旧版本上复制Web应用程序可能会留下潜在危险的文件
  • 部署不会覆盖web.config中的修改,它们会被合并。这真是一个很大的优势

答案 1 :(得分:2)

您可以设置构建前和构建后事件,并且可以使用一个事件触发脚本来完成任务。

答案 2 :(得分:1)

您可能会查看IIS Web Deployment Tool是否适合您的方案;它允许您一起发布您的网站,配置设置,数据库等。这也将集成到Visual Studio 2010中。