Tfs 如何从TeamBuild创建web部署包?

Tfs 如何从TeamBuild创建web部署包?,tfs,msbuild,build,msdeploy,Tfs,Msbuild,Build,Msdeploy,我已经阅读和实验好几天了。我用MSBug和Team Foundation Bug购买了最新的“微软内置引擎”。我一直试图通过查看构建目标来解决问题 我很快就能在构建服务器上构建一个包,但我希望能够指定安装文件夹,这样它就不会进入wwwroot。我读到我必须将项目从使用cassini切换到本地IIS服务器。经历了所有这些 通过定义传递给msbuild的参数: /p:DeployOnBuild=true/p:DeployTarget=Package/p:MSDeployPublishMethod=I

我已经阅读和实验好几天了。我用MSBug和Team Foundation Bug购买了最新的“微软内置引擎”。我一直试图通过查看构建目标来解决问题

我很快就能在构建服务器上构建一个包,但我希望能够指定安装文件夹,这样它就不会进入wwwroot。我读到我必须将项目从使用cassini切换到本地IIS服务器。经历了所有这些

通过定义传递给msbuild的参数:

/p:DeployOnBuild=true/p:DeployTarget=Package/p:MSDeployPublishMethod=InProc/p:CreatePackageOnPublish=true/p:MsDeployServiceUrl=localhost

我有很多问题,但我会简单地开始。如果有人能提供指导,我将万分感激

  • 如果命名的应用程序在构建服务器上不存在(不应该存在!),则包创建将失败。如果我添加一个相应命名的shell应用程序,那么包就生成了

  • 即使我在尝试使用Web.deploy.cmd进行部署时通过了#1,它也会失败:

    错误:不支持将64位源和32位目标与提供程序appHostConfig一起使用

    请注意,构建服务器是64位的,而目标服务器(开发)是32位的。我有针对“任何cpu”的构建配置。哦,我正在从32位机器调用部署,因此只有32位msdeploy.exe可用


  • 在“Process”下的相应BuildDefinition中,展开“Advanced”部分并将“MSBuild Arguments”的值设置为“/p:DeployOnBuild=True”


    这将使您的WebDeploy包根据项目属性中的设置进行构建。

    我写了两篇文章,介绍如何创建Web包并将其自动部署到Web服务器,我认为这可能对您有用

    使用团队构建自动部署网站以进行QA


    如何使用MS deploy运行远程部署

    是的,我说过我在用那种方法。不过还是要谢谢你。花了几天时间试着让它运行起来之后,很明显msdeploy对我们没有什么用处。它在xcopy上提供的唯一功能就是创建网站。为此,您需要指定它应该复制IIS设置。很好,但要在使用构建服务器时做到这一点,需要在构建服务器上设置网站。没用。如果我知道如何生成部署脚本和参数文件,我可以在团队构建期间为每个环境吐出包,并将它们与TFS Deployer一起使用。。。当xcopy提供了我们所需要的99%的功能时,为什么还要这么努力呢。如果我们每天都部署站点,我可以理解,但我们有几个项目,根本没有办法证明我们需要付出多少努力才能让它为我们工作。这是另一个开箱即用的例子,它在表面上做得很好,但试图快速调整它却被证明是一场噩梦。