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 generiert die Standardstrategie statischen Inhalt während der Bereitstellungsphase, wenn sich die Site im Wartungsmodus befindet. Diese Bereitstellungsstrategie benötigt jedoch Zeit, um den Inhalt direkt in den bereitgestellten pub/static
-Ordner zu schreiben. Sie haben verschiedene Optionen oder Strategien, um die Bereitstellungszeit je nach Bedarf zu verbessern.
Optimieren von JavaScript- und HTML-Inhalten
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 der SCD während des Bereitstellungsprozesses verbessern, wenn Sie das Kopieren der statischen Ansichtsdateien in den Ordner "var/view_preprocessed
"überspringen und bei Anforderung den HTML "minified" generieren. Sie können dies aktivieren, indem Sie die globale Umgebungsvariable SKIP_HTML_MINIFICATION in der Datei .magento.env.yaml
auf true
setzen.
ece-tools
-Paketversion 2002.0.13 wird der Standardwert für die Variable SKIP_HTML_MINIFICATION auf true
gesetzt.Sie können mehr Bereitstellungszeit und Speicherplatz sparen, indem Sie die Anzahl unnötiger Designdateien reduzieren. Sie können beispielsweise das Thema magento/backend
auf Englisch und ein benutzerdefiniertes Design in anderen Sprachen bereitstellen. Sie können diese Designeinstellungen mit der Umgebungsvariablen SCD_MATRIX konfigurieren.
Implementierungsstrategie auswählen
Bereitstellungsstrategien unterscheiden sich je nachdem, ob Sie während der Build-Phase, der Bereitstellung-Phase oder On-Demand statischen Inhalt generieren möchten. 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 das bereitgestellte Verzeichnis ~/pub/static
kopiert werden, was 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-Down -Implementierungen, auch als idealer Status bezeichnet. Anstatt Dateien auf ein bereitgestelltes Laufwerk zu kopieren, wird ein Symlink aus dem Verzeichnis "./init/pub/static
"erstellt.
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 während der Build-Phase nicht verfügbar. Um den statischen Inhalt während der Build-Phase zu generieren, müssen Sie den Befehl config:dump
im Paket ece-tools
verwenden, um Gebietsschemata in das Dateisystem zu verschieben. Die Gebietsschemata werden gelesen und in der Datei app/etc/config.php
gespeichert.
So konfigurieren Sie Ihr Projekt, um SCD auf 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 Datei
config.php
. -
Die Konfigurationsdatei
.magento.env.yaml
sollte die folgenden Werte enthalten:- SKIP_HTML_MINIFICATION is
true
- SKIP_SCD auf der Build-Phase ist
false
- SCD_STRATEGY ist
compact
- SKIP_HTML_MINIFICATION is
-
Überprüfen Sie die Konfiguration des Post-deploy-Hooks in der Datei
.magento.app.yaml
. -
Überprüfen Sie Ihre Einstellungen, indem Sie den Smart-Assistenten für den idealen Status ausführen.
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 Umgebungsvariable SCD_ON_DEMAND im globalen Schritt der Datei .magento.env.yaml
. Die Variable "SCD_ON_DEMAND"überschreibt alle anderen Konfigurationen, die mit der SCD zusammenhängen, und löscht vorhandenen Inhalt aus dem Ordner "~/pub/static
".
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 in der Umgebungsvariablen WARM_UP_PAGES in der Phase nach der Bereitstellung der Datei .magento.env.yaml
hinzu.
SCD überspringen
Manchmal können Sie die Generierung statischer Inhalte überspringen. Sie können die Umgebungsvariable SKIP_SCD in der globalen Bühne so festlegen, dass andere Konfigurationen im Zusammenhang mit SCD ignoriert werden. Vorhandenen Inhalt im Verzeichnis ~/pub/static
sind hiervon nicht betroffen.