TFS Web Deploy不通过Build执行,而是在本地执行?

时间:2013-10-31 20:04:21

标签: deployment tfs msbuild tfs2010 msdeploy

我有一个解决方案,我试图让TFS 2010在构建之后进行部署。

当我在本地运行以下msbuild命令时,它部署正常:

msbuild C:\Path\to\Solution.sln /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl=https://[Server]:8172/MsDeploy.axd /p:DeployIisAppPath="TestSite" /p:UserName=Domain\Username /p:Password=NotTheRealPassword /P:AllowUntrustedCertificate=True

但是,当我将这些相同的选项添加到TFS 2010构建MS Build参数时:

enter image description here

......似乎没有执行任何操作。

构建正确完成:

enter image description here

但我在整个日志文件中都没有看到与部署等相关的内容。就好像参数甚至从未从TFS传递到MSBuild。

由TFS调用的MSBuild命令

日志将其作为(清除敏感数据):C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe /nologo /noconsolelogger "C:\Builds\1\[Scrubbed]\Daily6am\Sources\[Scrubbed].sln" /m:1 /fl /flp:"logfile=C:\Builds\1\[Scrubbed]\[Scrubbed]\Sources\[Scrubbed].log;encoding=Unicode;verbosity=normal" /p:SkipInvalidConfigurations=true /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl=https://[Scrubbed]:8172/MsDeploy.axd /p:DeployIisAppPath="TestSite" /p:UserName=[Scrubbed]\farmservice /p:Password=[Scrubbed] /p:AllowUntrusted=True /P:AllowUntrustedCertificate=True /p:OutDir="C:\Builds\1\[Scrubbed]\[Scrubbed]\Binaries\\" /p:Configuration="Debug" /p:Platform="Any CPU" /p:VCBuildOverride="C:\Builds\1\[Scrubbed]\[Scrubbed]\Sources\[Scrubbed].sln.Any CPU.Debug.vsprops" /dl:WorkflowCentralLogger,"C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Normal;BuildUri=vstfs:///Build/Build/23;InformationNodeId=4504;TargetsNotLogged=GetNativeManifest,GetCopyToOutputDirectoryItems,GetTargetPath;TFSUrl=http://[Scrubbed]:8080/tfs/[Scrubbed]_Collection;"*WorkflowForwardingLogger,"C:\Program Files\Microsoft Team Foundation Server 2010\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Normal;"

问题

  • 如何让TFS告诉MSBuild构建部署?
  • 如何验证参数是否已传入?
  • 如何正确阅读日志以了解是否已发生这种情况?

非常感谢对这些方面的任何帮助。

1 个答案:

答案 0 :(得分:2)

我之前能够在SO问题上找到答案:)

根据this SO Question的答案,@marvc1(信用证已到期)建议复制以下文件:

  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web
  • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications

我复制了WebApplications,但没有复制Web。复制网络解决了这个问题。