Ich habe eine angepasste deploy.cmd
-Datei, die ich für die Bereitstellung meiner Azure-Website verwende. Es führt einige benutzerdefinierte Dinge wie die Installation von nodejs-Versionen von Typescript und einem Minifier und dann das Ausführen von Komponententests vor dem Erstellen und Bereitstellen der Website selbst durch.
Das Problem, auf das ich stoße, ist, dass es immer länger dauert, dieses Skript auszuführen, zumindest auf Azure. Auf meinem Entwicklungscomputer dauert es etwa 90 Sekunden, um das Skript deploy.cmd
auszuführen. Aber wenn ich es auf Azure hinausschiebe, dauert es etwas länger als 15-20 Minuten (und manchmal über 30-40 Minuten). Ich bin nicht überrascht, dass es länger auf einem Webserver dauert - ich bin etwas überrascht, dass es mehr als 10 mal länger dauert.
Hier ist eine abgespeckte Version der Protokolldatei für eine aktuelle Bereitstellung:
%Vor%Offensichtlich sind es die zwei Build-Schritte, die die meiste Zeit benötigen. Ich nehme an, ich könnte diese in einem einzigen Build-Schritt zusammenführen - obwohl ich nicht ganz sicher bin, wie das mit KuduSync funktionieren würde.
Irgendwelche weiteren Vorschläge, wie Sie das beschleunigen können? Oder wird das grundsätzlich nur erwartet?
Ich vermute, dass bei der Erwähnung von nodejs eine Reihe von npm-Paketen als Teil des Builds heruntergeladen wird. Auf Ihrem lokalen Computer sind diese bereits vorhanden, aber Kudu stellt sie jedes Mal in einem sauberen Ordner wieder her.
Zweitens werden ungefähr 5 Minuten Ihrer Bauzeit damit verbracht, Testprojekte zu erstellen (und wahrscheinlich laufen zu lassen). Wenn es nicht beabsichtigt und im Bereitstellungsworkflow erforderlich ist, würde ich empfehlen, es über eine Markierung auszuschalten.
Tags und Links azure azure-web-sites kudu