TFS 2012团队构建和Web应用程序部署 - ERROR_USER_NOT_ADMIN

时间:2013-02-28 15:11:03

标签: tfs msbuild msdeploy team-build

我们有一个由几个类库和一个Web组成的解决方案 应用项目。我们正在使用TFS 2012和Team Build。解决方案 在构建服务器上正确编译。

我目前正试图通过MSBuild Arguments这样做。

/ p:DeployOnBuild = True / p:DeployTarget = MsDeployPublish / p:CreatePackageOnPublish = False / p:MSDeployPublishMethod = RemoteAgent / p:MsDeployServiceUrl = https://testWebServer:8172/MsDeploy.axd?site=direct / p:AllowUntrustedCertificate = True / P:DeployIisAppPath = “直接” / P:=进行AuthType NTLM

解决方案构建但不部署。我收到以下错误消息:

  

msdeploy错误ERROR_DESTINATION_INVALID:Web部署任务失败。   (无法连接到远程计算机(“https”)。请确保   远程计算机名称是正确的,您可以连接   到那台电脑。了解更多信息:   http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_INVALID.)   [C:\ Builds \ 1 \ ProjectName \ Solution General Build \ Sources \ Temp   源\项目名\解\ Project.csproj]

我应该传递另一个参数来指定服务器吗?我做到了 不打算将https作为服务器名称...我试过省略了 https://无效,错误是一样的,所以它从中获取值 某处。

我使用MsDeployServiceUrl的以下值尝试了这个:

  • https://testWebServer:8172/MsDeploy.axd?site=direct
  • https://testWebServer:8172/MsDeploy.axd
  • "https://testWebServer:8172/MsDeploy.axd?site=direct"
  • https://192.168.X.X:8172/MsDeploy.axd?site=direct
  • "https://192.168.X.X:8172/MsDeploy.axd?site=direct"
  • testWebServer:8172/MsDeploy.axd?site=direct

更新

好的,以下是至少连接:

  • / P:MsDeployServiceUrl = testWebServer

我看过很多关于那个特定论点的帖子,而且几乎总是它们是一个URL,而不仅仅是一个主机名(看起来像我认为只是为了简洁而写的主机名)。

然而,我现在遇到了一个新问题。我已在网络服务器上建立了构建服务帐户(域帐户)本地管理员,我在安全日志中收到msdeploy error ERROR_USER_NOT_ADMIN以及审核失败。

分辨率

这些是我目前要使用的MSBuild参数 / p:DeployOnBuild = True / p:DeployTarget = MsDeployPublish / p:CreatePackageOnPublish = False / p:MSDeployPublishMethod = WMSvc /p:MsDeployServiceUrl="https://SERVER:8172/MsDeploy.axd“/ p:AllowUntrustedCertificate = True / p :DeployIisAppPath = “网站名称”

我现在收到ERROR_USER_UNAUTHORIZED。显然我要么没有正确设置委托,要么我创建的IIS管理员用户不正确。无论如何,如果有必要的话会在不同的帖子中发表。

2 个答案:

答案 0 :(得分:3)

您使用的是什么是服务器和IIS版本? IIS 6使用 Web部署代理服务(MsDepSvc),而IIS 7通常使用具有不同URL的 Web管理服务(WMSvc)(此外,您必须是管理员目标服务器执行MsDepSvc。

您可以尝试指定

/P:MSDeployPublishMethod=WMSvc

基于Troy Hunt的this article网络管理服务(WMSvc)正在使用

.axd 

网址(您指定的网址),而您试图强制它使用 RemoteAgent 发布方法,这似乎是不一致的。

有关WMSvcRemoteAgent发布方法之间的完整差异集,请参阅this article

答案 1 :(得分:1)

我有类似的问题。为解决此问题,我尝试了以下步骤:

  1. 由于它是托管服务器,我们必须确保端口8172已打开(显然)。
  2. 创建新登录并在IIS中进行设置 - >部署 - >配置 - >在目标服务器上配置Web Deploy Publishing。我确保密码没有任何空格,以避免引号问题,以确保。
  3. 实际上从构建服务器运行手动部署。
  4. 最后在MSDeployServicerl中指定IP地址: /p:MsDeployServiceUrl=xxx.xxx.xxx.xxx:8172/msdeploy.axd
  5. 没有一个网站名称也适用于我。我的所有参数都没有引号。当然,如果你在一个参数中错误地留下一个空格,你将得到错误: MSBUILD:错误MSB1008:只能指定一个项目