2016-05-10 4 views
0

Wir führen viele Azet-Deploys mithilfe von msdeploy.exe und vordefinierten Paketen durch. Intermittierend, aber ziemlich häufig, bekommen wir Fehler (anscheinend Netzwerkprobleme).MSDeploy an Azure-Sites schlägt trotz Wiederholungsversuche häufig fehl

Der Befehl ist,

C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe 
    -verb:sync -source:package=D:\packages\mysite.zip 
    -dest:auto,ComputerName=https://mysite-staging.scm.azurewebsites.net:443/msdeploy.axd?site=mysite__staging,UserName='$mysite__staging',Password='longpassword',AuthType='Basic' 
    -retryAttempts:10 
    -retryInterval:3000 
    -setParam:name='foo1',value='bar1' 
    -enableRule:AppOffline 
    -setParam:name='foo2',value='bar2' 
    -allowUntrusted=True 

Es funktioniert in der Regel gut, aber dann manchmal wird es mit dieser Meldung fehlschlagen:

Error Code: ERROR_CONNECTION_TERMINATED 

Die -retryAttempts und -retryInterval Optionen scheinen Null-Effekt zu haben. Die Fehler sind passiert, bevor ich sie hinzugefügt habe und jetzt, nachdem ich sie hinzugefügt habe, gibt es keinen Unterschied. Keine Ausgabe von msdeploy, die sagt, dass es erneut versucht. Gibt es etwas, das ich vermisse, wenn ich msdpeloy versuche, es erneut zu versuchen?

Alles, einschließlich des Computers, auf dem das Msdeploy ausgeführt wird, befindet sich in derselben Region in Azure. Es gibt keine zugrunde liegenden Netzwerkprobleme, insbesondere nicht für 30.000 ms - SCM/Kudu oder msdeploy schlägt auf einer höheren Ebene fehl.

Antwort

1

Für mich kam das Problem manchmal wegen der Fiddler und (häufiger) wegen des langsamen Internets.

Auch können Sie versuchen, Kudu Befehle zu verwenden, wie die Erweiterung des MSDeploy und SCM_COMMAND_IDLE_TIMEOUT, die Sie => Web-App-Einstellungen => App-Einstellungen => fügen Sie die Einstellung mit dem gewünschten Wert gesetzt werden (360 sagen (in Sekunden)). Reference. Es sagt, dass jeder externe Befehl nach einiger Zeit beendet wird, also kann es vielleicht in Verbindung gebracht werden.

1

Ich hatte auch dieses Problem und habe intern eine Frage an MS geschrieben.

Ein Trick, den ich habe, ist die Website vor dem Ausführen von msdeploy "aufwärmen". Dies kann so einfach wie ein Powershell-Befehl sein, um eine Webanfrage auf der Site-URL aufzurufen. Aus irgendeinem Grund reduziert dies die Anzahl der Verbindungsbeendigungsfehler.