Implementierungsstrategien für statische Inhalte
Die Bereitstellung statischer Inhalte (SCD) hat erhebliche Auswirkungen auf den Prozess der Speicherbereitstellung, der davon abhängt, wie viel Inhalt generiert werden muss (z. B. Bilder, Skripte, CSS, Videos, Designs, Gebietsschemata und Webseiten) und wann der Inhalt generiert werden soll. Beispielsweise erzeugt die Standardstrategie statischen Inhalt während der Bereitstellungsphase wenn sich die Site im Wartungsmodus befindet. Diese Bereitstellungsstrategie nimmt jedoch Zeit in Anspruch, um den Inhalt direkt in den bereitgestellten pub/static
Verzeichnis. Sie haben verschiedene Optionen oder Strategien, um die Bereitstellungszeit je nach Bedarf zu verbessern.
JavaScript- und HTML-Inhalte optimieren
Sie können das Bundling und die Minimierung verwenden, um während der Bereitstellung statischer Inhalte optimierte JavaScript- und HTML-Inhalte zu erstellen.
Inhalte minimieren
Sie können die Ladezeit für die SDK während des Bereitstellungsprozesses verbessern, wenn Sie das Kopieren der statischen Ansichtsdateien in die var/view_preprocessed
Verzeichnis erstellen minified HTML bei Bedarf. Sie können dies aktivieren, indem Sie die SKIP_HTML_MINIFICATION globale Umgebungsvariable auf true
im .magento.env.yaml
-Datei.
ece-tools
Paketversion 2002.0.13, ist der Standardwert für die Variable SKIP_HTML_MINIFICATION auf true
.Sie können more Bereitstellungszeit und Speicherplatz durch Reduzierung der Anzahl unnötiger Designdateien. Beispielsweise können Sie die magento/backend
Thema auf Englisch und ein benutzerdefiniertes Thema in anderen Sprachen. Sie können diese Designeinstellungen mit dem SCD_MATRIX Umgebungsvariable.
Implementierungsstrategie auswählen
Die Implementierungsstrategien unterscheiden sich je nachdem, ob Sie während der build Phase, deploy Phase oder On-Demand. Wie in der folgenden Tabelle dargestellt, ist das Generieren von statischem Inhalt während der Bereitstellungsphase die am wenigsten optimale Wahl. Selbst bei minimiertem HTML muss jede Inhaltsdatei in den bereitgestellten ~/pub/static
-Verzeichnis, das lange dauern kann. Die Erzeugung von statischen Inhalten bei Bedarf scheint die optimale Wahl zu sein. Wenn die Inhaltsdatei jedoch nicht im Cache vorhanden ist, wird sie zum Zeitpunkt der Anforderung generiert. Dadurch wird dem Benutzererlebnis Ladezeit hinzugefügt. Daher ist das Generieren von statischem Inhalt während der Build-Phase am besten geeignet.
Festlegen der SCD beim Build
Die Generierung von statischem Inhalt während der Build-Phase mit minimiertem HTML ist die optimale Konfiguration für Zero-Ausfallzeit Bereitstellungen, auch als idealer Zustand. Anstatt Dateien auf ein bereitgestelltes Laufwerk zu kopieren, wird ein Symlink aus dem ./init/pub/static
Verzeichnis.
Die Erstellung statischer Inhalte erfordert Zugriff auf Designs und Gebietsschemata. Adobe Commerce speichert Designs im Dateisystem, auf das während der Build-Phase zugegriffen werden kann. Adobe Commerce speichert jedoch Gebietsschemata in der Datenbank. Die Datenbank ist not verfügbar während der Build-Phase. Um den statischen Inhalt während der Build-Phase zu generieren, müssen Sie die config:dump
im ece-tools
-Paket, um Gebietsschemata in das Dateisystem zu verschieben. Es liest die Gebietsschemata und speichert sie im app/etc/config.php
-Datei.
So konfigurieren Sie Ihr Projekt, um SCD beim Build zu generieren:
-
Wechseln Sie auf Ihrer lokalen Workstation zum Projektverzeichnis.
-
Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.
code language-bash magento-cloud ssh
-
Verschieben Sie die Gebietsschemata in das Dateisystem und aktualisieren Sie dann die
config.php
file. -
Die
.magento.env.yaml
Die Konfigurationsdatei sollte die folgenden Werte enthalten:- SKIP_HTML_MINIFICATION is
true
- SKIP_SCD auf der Build-Phase
false
- SCD_STRATEGY is
compact
- SKIP_HTML_MINIFICATION is
-
Überprüfen der Konfiguration der Hook nach der Bereitstellung im
.magento.app.yaml
-Datei. -
Überprüfen Sie Ihre Einstellungen, indem Sie die Intelligenter Assistent für den idealen Status.
code language-bash php ./vendor/bin/ece-tools wizard:ideal-state
SCD bei Bedarf festlegen
Die Generierung von SCD On Demand ist für einen Entwicklungs-Workflow in der Integrationsumgebung optimal. Dadurch wird die Bereitstellungszeit verkürzt, sodass Sie Ihre Implementierungen schnell überprüfen und Integrationstests ausführen können. Aktivieren Sie die SCD_ON_DEMAND Umgebungsvariable im globalen Schritt der .magento.env.yaml
-Datei. Die Variable "SCD_ON_DEMAND"überschreibt alle anderen Konfigurationen, die mit der SCD zusammenhängen, und löscht vorhandenen Inhalt aus der ~/pub/static
Verzeichnis.
Bei Verwendung der On-Demand-Strategie für SCD hilft es, den Cache mit Seiten, die Sie erwarten, vorab zu laden, z. B. die Startseite. Fügen Sie Ihre Liste der erwarteten Seiten im WARM_UP_PAGES Umgebungsvariable in der Phase nach der Bereitstellung der .magento.env.yaml
-Datei.
SCD überspringen
Manchmal können Sie die Generierung statischer Inhalte überspringen. Sie können die SKIP_SCD Umgebungsvariable in der globalen Bühne verwenden, um andere Konfigurationen zu ignorieren, die mit SCD zusammenhängen. Vorhandenen Inhalt in der ~/pub/static
Verzeichnis.