如何从团队构建中创建Web部署包?

时间:2011-07-21 16:12:07

标签: tfs msbuild build msdeploy

我一直在阅读和试验好几天。我买了最新的“内部Microsoft构建引擎 - 使用MSBUild和Team Foundation Build”。我一直试图通过查看构建目标来解决问题。

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

我通过定义传递给msbuild的args:

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

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

  1. 如果构建服务器上不存在指定的应用程序(它不应该!),则包创建将失败。如果我添加一个相应命名的shell应用程序,则构建包。

  2. 当我尝试使用Web.deploy.cmd进行部署时,即使我超过#1,它也会失败:

    错误:不支持使用提供程序appHostConfig的64位源和32位目标。

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我写了两篇关于如何创建Web包并将其自动部署到Web服务器的文章,我认为它对您有用。

使用团队构建click here

自动部署您的网站以进行质量检查

如何使用MS Deploy运行远程部署? click here