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.

NOTE
Ab der 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.

SCD-Ladevergleich

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:

  1. Wechseln Sie auf Ihrer lokalen Workstation zum Projektverzeichnis.

  2. Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.

    code language-bash
    magento-cloud ssh
    
  3. Verschieben Sie die Gebietsschemata in das Dateisystem und aktualisieren Sie dann die Datei config.php.

  4. Die Konfigurationsdatei .magento.env.yaml sollte die folgenden Werte enthalten:

  5. Überprüfen Sie die Konfiguration des Post-deploy-Hooks in der Datei .magento.app.yaml .

  6. Ü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.

WARNING
Verwenden Sie nicht die SCD-On-Demand-Strategie in der Produktionsumgebung.

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.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26