2016-10-11 50 views
1

這與Web部署3.6,在配置和開發PC上的Windows Server 2012 R2中,和Visual Studio 2015年上運行的正確配置遠程管理服務使用Windows 10,以及從IDE中調用的Web Deploy進行部署。 (更新:http出現問題,Web Deploy僅適用於http。)Web部署3.6 ws2012r2主機上,從VS 2015年部署失敗,401錯誤

這與Web Deploy出現401錯誤的其他問題有些不同,因爲錯誤只發生在真正的部署,而不是在「驗證連接」期間。

所有的解決方案postedother兩個類似的問題進行了嘗試。有一個註冊表黑客(UAC問題)和其他一些事情。有本地文件系統權限可以檢查。

在Windows Server 2012 R2上使用Web Deploy 3.6來獲得這個「精彩」技術來同意工作,IIS必須要有一些新的技巧。

現在是2016年,Web Deploy像以往一樣令人憤怒。

web deploy y u no work?

+0

有趣的是,在服務器上啓用了wmsvc日誌記錄,但是在c:\ inetpub \ logs \ wmsvc服務器上沒有生成日誌文件 –

回答

1

Web部署3.6和以前的版本似乎有數以百計的主要折皺,許多灌進具有類似於https無證需求基本上被需要,並具有可怕複雜的命令行語法像msdeploy各個位。

我試過Web部署從Visual Studio中,和它的工作對生產系統在Azure上,但沒有對我的房子開發系統。

它似乎可以在Visual Studio IDE中使用有效簽名證書的系統上使用,如果您想部署到開發人員IIS框中,請確保系統正在偵聽https。如果使用自簽名的證書,您可能需要使用此解決方案,它可以讓你從你的CI系統或開發者的命令行配置:

  1. 添加HTTPS綁定到開發或部署服務器的網站的綁定。

  2. 只有通過HTTPS推動與webdeploy,它往往當你使用http失敗。

  3. 如果您沒有有效的可信證書(例如自簽名證書),則可以將-allowUntrusted添加到下面的命令中。

  4. 查找在Visual Studio IDE輸出面板中打印的msdeploy命令語法,它會是這樣的,然後修改它。

請不要以純文本形式存儲憑證。我在CI系統中使用批處理文件,我的祕密存儲在CI系統中,並使用%ENVIRONMENT_VARIABLE%語法注入到批處理文件中。

-

"C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" 
    -source:manifest='C:\Users\...\SourceManifest.xml' 
    -dest:manifest='C:\Users\...\DestinationManifest.xml', 
    ComputerName='https://192.168.215.141:8172/msdeploy.axd 
    ?site=something',UserName='something', 
    Password='something',IncludeAcls='False',AuthType='Basic' 
    -verb:sync -enablerule:AppOffline -enableRule:DoNotDeleteRule 
    -retryAttempts:20 -allowUntrusted 

在命令行(或您自己的批處理文件),像上面的工作對我來說,即使它仍然在Visual Studio IDE中失敗。如果有一種方法可以讓Web Deploy在Visual Studio IDE中實際運行,那麼問題仍然存在。

我現在已經用一個試用版的Windows Server 2016 vm和Windows server 2012 r2測試了這個,在我看來,web deploy 3.6剛剛壞掉了,沒有一部分看起來比嚮導/可視化發佈部分更壞的視覺工作室。