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.

NOTE
Beginnen Sie mit der 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.

Vergleich der SCD-Auslastung

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:

  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 config.php file.

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

  5. Überprüfen der Konfiguration der Hook nach der Bereitstellung im .magento.app.yaml -Datei.

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

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

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