2016-01-07 35 views
0

我已驗證Web Deploy在我的本地計算機上從Visual Studio中啓動時的工作方式(使用NTLM授權)。現在我希望我的構建服務器每天晚上自動部署(如果適用)。我在構建服務器上使用Jenkins,並且已在遠程計算機的IIS中授予帳戶訪問權限。是我對MSBuild的參數如下:爲什麼Web部署使用錯誤的帳戶?

/p:DeployOnBuild=true 
/p:Configuration=Debug 
/p:Platform=x86 
/p:PublishProfile=DEV 
/p:AuthType=NTLM 
/p:AllowUntrustedCertificate=True 
/p:Username= 

DEV發佈配置文件指定了使用自簽名證書因此需要一個不受信任的證書我的開發服務器。 NTLM和空白用戶名應該使用當前用戶/帳戶進行連接。

然而,詹金斯工作的MSBuild的步驟失敗,出現此錯誤

msdeploy錯誤ERROR_USER_UNAUTHORIZED:Web部署任務失敗。 (使用Web管理服務連接到遠程計算機(「DEV-SERVER」),但無法授權。請確保您使用的用戶名和密碼正確,連接的站點是否存在,以及憑據代表誰有權訪問該網站的用戶瞭解更多:。http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_UNAUTHORIZED

當我看到在DEV-SERVER的IIS日誌,我看到以下內容:

2016-01 -06 23:55:10 159.212.19.186 HEAD /msdeploy.axd site = MySite 8172 - 159.212.19.123 - 401 2 5 0
2016-01-06 23:55:10 159.212.19.186 HEAD /msdeploy.axd site = MySite 81 72 CO \ BUILD-SERVER $ 159.212.19.123 - 401 2 64 78

我期待看到CO \詹金斯,帳戶詹金斯下運行,而不是CO \ BUILD-SERVER $。 (最後的結果是什麼?)我認爲錯誤的帳戶正在被使用是否正確?我需要做些什麼來完成這項工作?

+0

CO \ BUILD-SERVER $是構建服務器的機器帳戶。如果你在該機器上運行一個從機,它是否作爲Windows服務運行?如果是這樣,它可能是作爲「系統」運行 –

+0

@JamesReed你稱它。我與設立詹金斯的人進行了覈實。他們已經在CO \ jenkins帳戶下手動運行了它,但是生成服務器重新啓動並且Windows服務在系統帳戶下自動啓動它。他們切換服務啓動的帳戶,並解決了我的問題,但顯然,運行Selenium測試存在一些問題。我會分開調查。非常感謝!如果你想作出回答幷包括這個解決方案和缺點,我很樂意接受它。 – ricksmt

回答

1

CO \ BUILD-SERVER $是您的構建服務器的機器帳戶。

如果你有一個在該機器上運行的從機,它是否作爲Windows服務運行?如果是這樣,它可能運行爲「系統」

也重新Selenium測試,如果測試運行在構建服務器上,然後該服務可能需要設置爲交互式運行,以便測試可以運行對UI。