我知道围绕这个问题已经提出了多少问题,但我仍然无法找到问题的答案。
我需要部署一个ASP.NET 4.0站点,我想做这样的事情:
有MSDeploy(webdeploy 2.0),aspnet_compiler,MSBuild,Powershell(我选择的武器......)以及更多......我不是100%确定在哪里使用?
我很想模仿Vs2010 GUI辅助部署中的“仅部署运行网站所需的文件”,我希望有可能不会触及我们部署到的网站中的某些现有文件夹。
我觉得我应该经常使用MSDeploy ......但我发现很难获得。我正在IIS.NET中读书,我听过Scott Hanselman / JonArildTørresdal播客。我不是100%确定从哪里开始......而且我不是MSBuild专家,因此Powershell对我来说非常好看。但我觉得我错过了正确的工具,就这样......
你会在哪一步使用什么工具?
答案 0 :(得分:-1)
据我所知,MSDeploy的构建旨在通过更多控制来满足您的所有需求。 MSDeploy是IIS团队的产品,它的功能更丰富。
回答你的问题 注意事项:Svn作为源控件,MSDeploy用于部署
您可以使用SVN命令行工具在某个临时目录中获取最新版本的源代码,并使用MSBuild命令行工具构建它。然后,您可以创建可以部署到特定环境的部署包或发布内容包。我目前正在开发一个基本上可以创建独立于环境的部署包的项目,这意味着可以将pacakge部署到任何阶段/测试/实时环境。用于创建部署包的示例是......
msbuild C:\ Projects \ NimBuildDeployTestApp \ NimBuildDeployWebApp / NimBuildDeployWebApp.csproj / t:package / p:Configuration = Release /p:PackageLocation=C:\Temp\DeployPackage\NimTestWebApp.zip / p:EnablePackageProcessLoggingAndAssert = true
使用MSDeploy命令行工具部署程序包,如下所示
msdeploy -verb:sync -source:package = packagelocation -dest:CONFIGURABLE_ACCORDING_TO_YOUR_NEEDS
用户步骤2使用MSBUILD在Release模式下构建解决方案,并在msdeploy中配置dest参数。
如果您的登台服务器上的一切似乎都很好,请运行deploymentToLive.batch文件,该文件将在您的实时服务器上部署特定的PublishContent /包。在同一批处理文件中执行7 msdeploy脚本,否则使用DFS(这是一个更复杂的解决方案)
MSDeploy绝对是最佳选择。您可以考虑的一件事是准备好部署包,可以将其部署到您的任何环境中。我的意思是你的web.config文件对于所有的环境都不相似,因此创建一个包含所有环境的web.confif文件的部署包。请参阅我的解决方案here
希望这会有所帮助,让您有信心继续自动化部署过程