Web部署3.6和以前的版本似乎有數以百計的主要折皺,許多灌進具有類似於https
無證需求基本上被需要,並具有可怕複雜的命令行語法像msdeploy
各個位。
我試過Web部署從Visual Studio中,和它的工作對生產系統在Azure上,但沒有對我的房子開發系統。
它似乎可以在Visual Studio IDE中使用有效簽名證書的系統上使用,如果您想部署到開發人員IIS框中,請確保系統正在偵聽https。如果使用自簽名的證書,您可能需要使用此解決方案,它可以讓你從你的CI系統或開發者的命令行配置:
添加HTTPS綁定到開發或部署服務器的網站的綁定。
只有通過HTTPS推動與webdeploy,它往往當你使用http失敗。
如果您沒有有效的可信證書(例如自簽名證書),則可以將-allowUntrusted添加到下面的命令中。
查找在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剛剛壞掉了,沒有一部分看起來比嚮導/可視化發佈部分更壞的視覺工作室。
有趣的是,在服務器上啓用了wmsvc日誌記錄,但是在c:\ inetpub \ logs \ wmsvc服務器上沒有生成日誌文件 –