Auswählen einer Bereitstellungsstrategie
Die Bereitstellungsstrategien unterscheiden sich je nachdem, ob Sie statische Inhalte während der Build-Phase, der Bereitstellungs-Phase oder On-Demand- generieren. Wie im folgenden Diagramm dargestellt, ist das Generieren statischer Inhalte während der Bereitstellungsphase die am wenigsten optimale Wahl. Selbst bei minimiertem HTML muss jede Inhaltsdatei in das bereitgestellte ~/pub/static
-Verzeichnis kopiert werden, was lange dauern kann. Die Erstellung statischer Inhalte nach Bedarf scheint die optimale Wahl zu sein. Wenn die Inhaltsdatei jedoch zum Zeitpunkt der Anforderung nicht im Cache vorhanden ist, wird sie generiert, was dem Benutzererlebnis eine Ladezeit hinzufügt. Daher ist die Generierung statischer Inhalte während der Build-Phase die optimalste.
Festlegen der SCD beim Build
Das Generieren von statischem Inhalt während der Build-Phase mit minimiertem HTML ist die optimale Konfiguration für Bereitstellungen ohne Ausfallzeiten,auch als Idealzustand“. Anstatt Dateien auf ein gemountetes Laufwerk zu kopieren, wird ein Symlink aus dem ./init/pub/static
Verzeichnis erstellt.
Zum Generieren statischer Inhalte ist Zugriff auf Designs und Gebietsschemata erforderlich. 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 während Erstellungsphase nicht verfügbar. Um den statischen Inhalt während der Build-Phase zu generieren, müssen Sie den config:dump
-Befehl im ece-tools
-Paket verwenden, um Gebietsschemata in das Dateisystem zu verschieben. Es liest die Gebietsschemata und speichert sie in der app/etc/config.php
.
So konfigurieren Sie Ihr Projekt für die Generierung von SCD beim Build:
-
Wechseln Sie auf Ihrer lokalen Workstation in Ihr Projektverzeichnis.
-
Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.
magento-cloud ssh
-
Verschieben Sie Gebietsschemata in das Dateisystem und aktualisieren Sie dann die
config.php
Datei. -
Die
.magento.env.yaml
-Konfigurationsdatei sollte die folgenden Werte enthalten:- SKIP_HTML_MINIFICATION ist
true
- SKIP_SCD beim Build-Schritt ist
false
- SCD_STRATEGY ist
compact
- SKIP_HTML_MINIFICATION ist
-
Überprüfen Sie die Konfiguration Hooks „Nach der Bereitstellung in der
.magento.app.yaml
. -
Überprüfen Sie Ihre Einstellungen, indem Sie den Smart-Assistenten für den idealen Status ausführen.
php ./vendor/bin/ece-tools wizard:ideal-state