2013-02-28 202 views
3

我們有一個解決方案,由幾個類庫和一個Web應用程序項目組成。我們在Team Build中使用TFS 2012。解決方案 在構建服務器上正確編譯。TFS 2012團隊構建和Web應用程序部署--L ERROR_USER_NOT_ADMIN

我目前正在嘗試通過MSBuild參數來做到這一點。

/P:DeployOnBuild =真/ P:DeployTarget = MsDeployPublish /P:CreatePackageOnPublish =假/ P:MSDeployPublishMethod = RemoteAgent /P:MsDeployServiceUrl = https://testWebServer:8172/MsDeploy.axd?site=direct/P:AllowUntrustedCertificate =真 /P:DeployIisAppPath =「直接「 /p:AuthType = NTLM

該解決方案構建但不部署。我收到以下錯誤消息:

msdeploy error ERROR_DESTINATION_INVALID: Web deployment task failed. (Could not connect to the remote computer ("https"). Make sure that the remote computer name is correct and that you are able to connect to that computer. Learn more at: 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://無濟於事,錯誤是一樣的,所以它從 某處獲得值。

我有以下值嘗試這樣的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,而不僅僅是一個主機名(那些看起來像我認爲只是爲了簡潔而寫的主機名)。

然而,我現在面臨着一個新問題。我在Web服務器上創建了構建服務帳戶(域帳戶)本地管理員,並且在安全日誌中出現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管理器用戶在某種程度上是不正確的。無論如何,如果有必要,它們將在不同的帖子中出現。

+1

您是否嘗試過將URL雙引號 ?似乎它被砍了:! – drk 2013-02-28 15:14:36

+0

確實我有。我用我嘗試過的一些值更新了我的帖子。我確信還有其他人嘗試過,但我不記得了...... – CodeWarrior 2013-02-28 15:25:53

回答

3

什麼是您正在使用的服務器和IIS版本? IIS 6使用Web部署代理服務(MsDepSvc),而IIS 7通常採用Web管理服務(WMSVC)具有不同的URL(而且,你必須在目標服務器上執行MsDepSvc上的管理員。

你可以嘗試基於this article從特洛伊亨特指定

/P:MSDeployPublishMethod=WMSvc 

Web管理服務(WMSVC)使用

.axd 

URL(您指定的那個),而您試圖強制它使用RemoteAgent發佈方法似乎不一致。

請參閱this article瞭解WMSvcRemoteAgent發佈方法之間的完整集合差異。

+0

在這種情況下,最有可能的是,您需要/ P:MSDeployPublishMethod = WMSvc(這是默認的IIS7)。我建議您首先嚐試使用控制檯msdeploy客戶端進行連接,以確保您的目標服務器的msdeploy服務已啓動並正在運行。 – Isantipov 2013-02-28 19:25:35

+0

你可以聊幾分鐘嗎?我可以創建一個聊天室,而不是用來回填充此區域... – CodeWarrior 2013-02-28 20:07:01

+0

命令行返回錯誤的目標不可達。我已驗證服務正在運行(net start wmsvc),並且我已在兩臺計算機上完全禁用了防火牆,以查看是否可以使其運行。沒有骰子。 – CodeWarrior 2013-02-28 20:23:58

1

我有一個類似的問題。爲了解決這個問題,我嘗試了以下步驟:

  1. 由於這是一個託管服務器,我們必須確保端口8172是開放的(顯然)。
  2. 創建新的登錄並在IIS - >部署 - >配置 - >在目標服務器上配置Web部署發佈中進行設置。我確信密碼沒有任何空格可以避免報價問題。
  3. 實際上是從構建服務器運行手動部署。
  4. 最後指定在MSDeployServicerl IP地址: /p:MsDeployServiceUrl=xxx.xxx.xxx.xxx:8172/msdeploy.axd

無網站名稱的工作對我來說無論是。我的參數沒有任何引號。當然,如果您在其中一個參數中留下錯誤的空間,您將收到以下錯誤: MSBUILD:錯誤MSB1008:只能指定一個項目

相關問題