我有一个解决方案,我正在尝试在构建后部署 TFS 2010。
当我在本地运行以下 msbuild 命令时,它部署得很好:
msbuild C:\Path\to\Solution.sln/p:DeployOnBuild=True/p:DeployTarget=MsDeployPublish/p:CreatePackageOnPublish=True/p:MSDeployPublishMethod=WMSVC/p:MSDeployServiceUrl=https://[服务器]:8172/MsDeploy.axd/p:DeployIisAppPath="TestSite"/p:UserName=Domain\Username/p:Password=NotTheRealPassword/P:AllowUntrustedCertificate=True
但是,当我将这些相同的选项粘贴到 TFS 2010 构建 MS 构建参数中时:
...它似乎没有执行任何操作。
构建正确完成:
但我在整个日志文件中没有看到与部署等相关的任何内容。就好像参数从未从 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;详细=正常"/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 构建部署?
- 如何验证参数是否已传入?
- 如何正确读取日志以了解是否发生了这种情况?
非常感谢您对这些方面的任何帮助。
最佳答案
我不久前就找到了一个问题的答案:)
根据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。复制网页解决了这个问题。
关于deployment - TFS Web Deploy 不通过构建执行而是在本地执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19715631/