2011-06-25 43 views
1

我知道这个问题有多少问题,但我仍然无法弄清楚我的问题的答案。aspnet部署工具的最佳组合

我需要部署ASP.NET 4.0网站,我想要做这样的事情:

  1. 获取最新版本OG整个解决方案 - 一个网站,由所使用的一对夫妇类项目Web应用程序(我做这个已经使用CCNet-不是问题)
  2. 构建和调试配置部署到测试现场
  3. 建立和释放配置部署到一个临时站点
  4. 如果一切正常的登台网站,我将运行部署发布bui的脚本ld分段站点,到同一服务器上不同客户使用的7-8个类似站点。将来这将在另一台服务器上。

有MSDeploy(webdeploy 2.0),aspnet_compiler,MSBuild,Powershell(我选择的武器..)和propably更...我不是100%确定在哪里使用?

我很想模仿Vs2010 GUI辅助部署中“只需部署运行网站所需的文件”,并且希望能够不触及我们部署到的网站中的某些现有文件夹。

我觉得我应该使用MSDeploy很多...但我觉得很难得到。我正在IIS.NET中阅读,我听说过Scott Hanselman/Jon ArildTørresdal播客。我不是100%肯定从哪里开始的...而且我不是MSBuild的专家,所以Powershell对我来说看起来相当不错。但我觉得我错过了正确的工具去那种方式...

什么工具,你会在哪个步骤?

回答

-1

据我所知,MSDeploy的构建是为了实现您的所有需求并提供更多的控制。 MSDeploy是IIS团队的产品,功能更丰富。

回答您的问题 注意事项:SVN源代码控制,MSDeploy部署

  1. 您可以使用SVN命令行工具,在一些临时目录中,以获得最新版本的源代码,并使用的MSBuild建立它命令行工具。然后,您可以创建可部署到特定环境的部署包或发布内容包。我目前正在开发一个基本可以创建独立于环境的部署包的项目,这意味着可以将pacakge部署到任何阶段/测试/实况环境中。样品用于创建部署包是...

    的msbuild C:\项目\ NimBuildDeployTestApp \ NimBuildDeployWebApp/NimBuildDeployWebApp.csproj /吨:包/ P:配置=推出/ P:PackageLocation = C:\ TEMP \ DeployPackage \ NimTestWebApp的.zip/p:EnablePackageProcessLoggingAndAssert =真

  2. 使用mSDeploy命令行工具来部署包,如下

    msdeploy -verb:同步-source:包= packagelocation -dest:CONFIGURABLE_ACCORDING_TO_YOUR_NEEDS

  3. 用户步骤2建立解决方案使用MSBUILD释放模式并在msdeploy中配置dest参数。

  4. 如果一切暂存服务器上的精细,运行deploymentToLive.batch文件,该文件将在您的在线服务器上部署一个特定PublishContent /包。在执行相同的批处理文件7个msdeploy脚本或者使用DFS(这是更为复杂的解决方案)

MSDeploy肯定是要走的路。你可以考虑的一件事是有一个部署包准备好可以部署到您的任何环境。我的意思是你的web.config文件将不会是所有的envrionments相似,因此创建一个包含所有环境web.confif文件部署包。请参阅我的解决方案here

希望这会有所帮助,并让您有信心进行自动化部署过程