【问题标题】:How to determine if MSBUILD Arguments were executed for TFS Build Definition如何确定是否为 TFS 构建定义执行了 MSBUILD 参数
【发布时间】:2013-03-16 16:40:46
【问题描述】:

我使用的是 Team Foundation Service 2012,内部托管了一个构建控制器,因此我可以将应用程序部署到我们的 Web 服务器。我设置了构建定义,并使用了我的调试配置,并提供了以下 MSBUILD 参数。

/p:DeployOnBuild=true /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl=https://myserversname:8172/msdeploy.axd /p:AllowUntrustedCertificate=true /p:DeployIisAppPath="somesite.ourdomain.com" /p:Username=na\svc-users /p:Password=PASS /p:VisualStudioVersion=11.0

解决方案构建得很好,我没有收到任何警告或错误。当我去我的部署服务器时,应用程序是空的。我已经设置了 Web 应用程序文件夹和 inetsrv 文件夹的权限。我还安装/配置了 Web 部署。如果我没有返回任何错误,我怎么知道我的部署出了什么问题?我已经检查了构建服务器和部署服务器上的事件日志,都没有任何错误或警告。我也可以从我的开发机器上进行发布,它可以完美地使用完全相同的参数。

【问题讨论】:

  • 查看构建日志?
  • 构建日志不包含任何错误或警告。这就是我如此困惑的地方。
  • MSBUILD 日志什么都没有?也许以详细模式运行它?
  • /verbosity:d 的开关是否正确?
  • 试试 /verbosity:d[etailed] 如果这还不够,试试 /verbosity:diagnostic

标签: visual-studio-2012 tfs msbuild build-agent


【解决方案1】:

将这两个文件夹及其内容从您的开发环境复制到构建服务器:

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

这些文件夹是通过 Visual Studio 2012 发布引起的依赖项。此依赖项在 .sln 文件中引用。

不幸的是,这意味着网络部署正在静默失败。

或者,您可以在构建服务器上安装 Visual Studio,但这会浪费许可证。

【讨论】:

猜你喜欢
  • 2017-08-21
  • 2011-09-26
  • 2016-03-11
  • 2017-04-15
  • 1970-01-01
  • 2016-10-11
  • 1970-01-01
  • 1970-01-01
  • 2013-12-22
相关资源
最近更新 更多