我们有一个由几个类库和一个 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="direct" /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 Source\ProjectName\Solution\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="siteName"
我现在收到 ERROR_USER_UNAUTHORIZED。显然我要么没有正确设置委派,要么我创建的 IIS 管理器用户不正确。无论如何,如有必要,将在不同的帖子中进行。