我们有一个由几个类库和一个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
好的,以下是至少连接:
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管理员用户不正确。无论如何,如果有必要的话会在不同的帖子中发表。
答案 0 :(得分:3)
您使用的是什么是服务器和IIS版本? IIS 6使用 Web部署代理服务(MsDepSvc),而IIS 7通常使用具有不同URL的 Web管理服务(WMSvc)(此外,您必须是管理员目标服务器执行MsDepSvc。
您可以尝试指定
/P:MSDeployPublishMethod=WMSvc
基于Troy Hunt的this article,网络管理服务(WMSvc)正在使用
.axd
网址(您指定的网址),而您试图强制它使用 RemoteAgent 发布方法,这似乎是不一致的。
有关WMSvc
和RemoteAgent
发布方法之间的完整差异集,请参阅this article。
答案 1 :(得分:1)
我有类似的问题。为解决此问题,我尝试了以下步骤:
没有一个网站名称也适用于我。我的所有参数都没有引号。当然,如果你在一个参数中错误地留下一个空格,你将得到错误: MSBUILD:错误MSB1008:只能指定一个项目