Iis 通过SVN为PHP和asp.net mvc网站构建和部署系统

Iis 通过SVN为PHP和asp.net mvc网站构建和部署系统,iis,web-deployment,webdeploy,automated-deployment,Iis,Web Deployment,Webdeploy,Automated Deployment,我正在寻找一些关于什么是最佳实践构建系统的指导原则,以允许从subversion代码到远程网站的自动部署 目前,我为3个应用程序的每个环境运行一个测试和生产分支: PHP应用程序 ASP.NET MVC应用程序 ASP.NET web服务 我通过Visual Studio中的Web deploy和WebMatrix中的PHP应用程序部署ASP.NET应用程序。它总比什么都没有好,但仍然需要我加载Visual Studio或WebMatrix以及应用程序来进行部署,我发现从WebMatrix进

我正在寻找一些关于什么是最佳实践构建系统的指导原则,以允许从subversion代码到远程网站的自动部署

目前,我为3个应用程序的每个环境运行一个测试和生产分支:

  • PHP应用程序
  • ASP.NET MVC应用程序
  • ASP.NET web服务
我通过Visual Studio中的Web deploy和WebMatrix中的PHP应用程序部署ASP.NET应用程序。它总比什么都没有好,但仍然需要我加载Visual Studio或WebMatrix以及应用程序来进行部署,我发现从WebMatrix进行部署有点不可靠,部署后会丢失一些文件

理想情况下,我想要:

  • 将从Subversion中检出相应的分支
  • 如果需要,运行生成
  • 部署到远程IIS服务器
  • 允许回滚到以前的代码副本
  • 具有web界面或可以使用单个CLI命令运行(即,单击一次部署)
  • 具有移动文件、创建快捷方式、写入文件等文件管理功能(远程)
  • 如果需要,可以运行SQL脚本
  • 是开源还是免费使用

我不确定是否应该使用TeamCity(Professional)、编写MSBuild脚本、编写WebDeploy脚本或其他什么。我可能会在生成服务器上运行它。

您可以使用TeamCity,也可以使用常规Windows计划程序中计划的自定义MSBuild脚本。 无论如何,您都需要自定义MSBuild脚本。然后,您可以在TeamCity中使用它

就我个人而言,我会选择TeamCity。使用应该允许你做任何你想做的事情。TeamCity可免费用于商业和非商业用途