Commerce-Version aktualisieren
Sie können die Adobe Commerce-Code-Basis auf eine neuere Version aktualisieren. Lesen Sie vor dem Upgrade der Umgebung Abschnitt "" im Installationshandbuch, um die neuesten Anforderungen an die Softwareversion zu ermitteln.
Je nach Umgebungstyp (Entwicklung, Staging oder Produktion) können Ihre Upgrade-Aufgaben Folgendes umfassen:
-
Aktualisieren Sie Erweiterungen von Drittanbietern auf die neueste unterstützte Version.
-
Aktualisieren Sie die
.magento/services.yamlmit den erforderlichen Dienstversionen für MariaDB (MySQL), OpenSearch, RabbitMQ und Redis oder Valkey, damit sie mit der Zielversion von Adobe Commerce kompatibel bleiben.- Für Entwicklungs-/Integrations-/PR-Verzweigungen werden diese Änderungen direkt als Teil der Umgebungskonfiguration verwendet.
- Für Pro-Staging- und Produktionsumgebungen führt der Adobe Commerce-Support die eigentliche Service-Installation oder -Aktualisierung durch. Sie müssen jedoch
.magento/services.yamlaktuell, vollständig und gültig bleiben, da die Inhalte während der Bereitstellung validiert werden.
-
Aktualisieren Sie die
.magento.app.yamlDatei mit neuen Einstellungen für Erweiterungspunkte und Umgebungsvariablen.
Pro Services-Support
Gehen Sie wie folgt vor, um ein Pro-Service-Upgrade in der Staging- oder Produktionsumgebung anzufordern und abzuschließen:
-
Um (Services nur in
StagingundProductionUmgebungen zu installieren zu aktualisieren senden Sie ein Adobe Commerce-Support-Ticket.Geben Sie im Ticket die erforderlichen Service-Änderungen an, schließen Sie die aktualisierten
.magento.app.yaml- und.magento/services.yaml-Dateien ein und notieren Sie sich die PHP-Zielversion.PHP-Version, Composer-Updates, Erweiterungen und Umgebungseinstellungen sind Self-Service-Änderungen. Adobe muss möglicherweise den New Relic-Agenten aktualisieren, um die PHP-Versionskompatibilität zu gewährleisten. Siehe PHP-Einstellungen in Anwendungskonfiguration.
note important IMPORTANT Verwenden Sie bei der Auswahl des Felds Environment im Ticketformular die Umgebungsbenennung von Adobe. Wählen Sie beispielsweise Staging aus, auch wenn Sie diese Umgebung intern dev aufrufen. Sie können Ihren internen Namen in der Beschreibung angeben, aber das Feld Environment muss die Nomenklatur von Adobe verwenden. -
Bestätigen Sie den Upgrade Zeitplan durch den zweiteiligen Prozess von Adobe: Sie bestätigen zuerst das angeforderte Datum und die angeforderte Uhrzeit und senden es dann an den Support zur endgültigen Bestätigung an das Infrastruktur-Team.
Produktionsänderungen (nur Pro) erfordern mindestens zwei Werktage Vorankündigung, Wochenenden ausgeschlossen. Beispielsweise muss das Cloud-Infrastruktur-Team ein Upgrade vom Montag bis zum vorhergehenden Mittwoch bestätigen. Bei Spitzennachfrage ist mit zusätzlicher Vorlaufzeit zu rechnen. Um Verzögerungen zu vermeiden, beantworten Sie die ursprüngliche Anfrage mindestens 48 Stunden vor dem Fenster. Das Upgrade gilt erst als geplant, wenn Sie eine endgültige Bestätigung erhalten.
note NOTE Bereitstellen von Wartungsfenstern in UTC. Staging-Upgrades sind nicht im Voraus geplant und werden in der Regel am selben Tag wie die Anfrage abgeschlossen. Stellen Sie nach einem RabbitMQ-Upgrade die Umgebung erneut bereit, um die Nachrichtenwarteschlangen neu zu initialisieren. -
Validieren Sie das Upgrade in einer Staging- oder Integrationsumgebung, bevor Sie es in der Produktionsumgebung planen.
Probleme, die durch Drittanbietermodule, benutzerdefinierten Code oder die Kompatibilität mit Abhängigkeiten verursacht werden, treten häufig während der erneuten Bereitstellung auf, die auf ein Service-Upgrade folgt. Zur Validierung mehrerer Service-Upgrades auf einmal ist eine angemessene Reihenfolge Valley oder Redis, dann RabbitMQ, dann OpenSearch, dann MariaDB. Dies ist keine erforderliche Sequenz. Datenbank-Upgrades haben die größte Auswirkung auf den Betrieb und verdienen höchste Vorsicht.
Adobe übernimmt keine Garantie für die genaue Dauer eines Produktionswartungsfensters im Voraus, da der Zeitpunkt von der Umgebung und den beteiligten Services abhängt. Nutzen Sie bei der Planung des Produktionsfensters die Zeit, die für das Staging-Upgrade benötigt wird.
-
Stellen Sie die Umgebung erneut, nachdem Adobe das Service-Upgrade abgeschlossen hat, damit die Änderung wirksam wird, auch wenn sich die Version der Adobe Commerce-Anwendung nicht ändert.
Wenn das Upgrade OpenSearch umfasst, planen Sie auch eine vollständige Neuindizierung. Adobe kann keine Ausfallzeiten für ein Service-Upgrade garantieren. Planen Sie daher ein Wartungsfenster, in dem Zeit für die Neubereitstellung, Neuindizierung bei Bedarf und die Validierung der Storefront und des Administrators bleibt, bevor Sie die Site erneut öffnen.
Kundenverfügbarkeit bei Upgrades
Ein Mitarbeiter Ihres Teams oder Implementierungspartners muss für die Dauer des geplanten Produktions-Upgrades online verfügbar sein. Durch die Planung während einer Zeit mit geringem Traffic ist das Upgrade nicht praktisch erledigt. Adobe verwaltet die Aktualisierung der Cloud-Infrastruktur, kann jedoch das Anwendungsverhalten, Integrationen, benutzerdefinierten Code oder Unternehmens-Workflows nicht validieren.
Der verfügbare Vertreter muss in der Lage sein,
- Überwachen der Storefront und kritischer Geschäftstransaktionen während und nach dem Upgrade.
- Beantworten Sie Fragen des Adobe-Supports oder des Cloud-Infrastruktur-Teams.
- Bestätigen dass Integrationen, Erweiterungen, Anpassungen, Cron-Aufträge, Warteschlangen und andere kundenspezifische Funktionen erwartungsgemäß funktionieren.
- Validieren geschäftskritische Workflows, wie z. B. Checkout, Katalogansichten, Suche, Anmeldung und Bestellabwicklung.
- Bericht unerwartetes Verhalten sofort melden, während der Upgrade-Kontext und die Protokolle weiterhin verfügbar sind.
Wartungsmodus
Der Wartungsmodus ist kein Ersatz für die Kundenverfügbarkeit. Der Wartungsmodus blockiert den Zugriff auf die Storefront, validiert jedoch nicht Anwendungsdienste, Integrationen, Warteschlangen, Cron-Aufträge, Checkout oder andere kundenspezifische Funktionen.
Wenn für die geplanten Arbeiten der Wartungsmodus erforderlich ist, koordinieren Sie die Verwendung mit dem Adobe-Support und befolgen Sie die Anweisungen für dieses Upgrade. Vergewissern Sie sich anschließend, dass die Storefront und die kritischen Workflows normal funktionieren, bevor Sie den Abschluss der Arbeit in Betracht ziehen.
Konfigurationsdateien
Um Änderungen an den Standardkonfigurationseinstellungen für Adobe Commerce in der Cloud-Infrastruktur oder im Programm zu berücksichtigen, aktualisieren Sie Ihre Projektkonfigurationsdateien, bevor Sie das Programm aktualisieren. Die neuesten Standardeinstellungen finden Sie im Magento-Cloud-GitHub-Repository.
composer.json
Überprüfen Sie vor einem Upgrade immer, ob die Abhängigkeiten in der composer.json mit der Adobe Commerce-Version kompatibel sind.
So aktualisieren Sie die composer.json für Adobe Commerce Version 2.4.4 und höher**:
-
Fügen Sie dem
configAbschnitt die folgendenallow-pluginshinzu:code language-json "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, "laminas/laminas-dependency-plugin": true, "magento/*": true } }, -
Fügen Sie dem Abschnitt
requiredas folgende Plug-in hinzu:code language-json "require": { "magento/composer-root-update-plugin": "^2.0.3" }, -
Fügen Sie dem Abschnitt
extra:component_pathsdie folgende Komponente hinzu:code language-json "extra": { "component_paths": { "tinymce/tinymce": "lib/web/tiny_mce_5" }, }, -
Speichern Sie die Datei. Übernehmen oder übertragen Sie noch keine Änderungen an Ihre Verzweigung.
-
Fahren Sie mit dem Upgrade-Prozess fort.
Umgebung-Backup
Adobe empfiehlt, vor einem Upgrade eine Sicherungskopie der Instanz zu erstellen. Führen Sie die folgenden Schritte aus, um Ihre Integrations-, Staging- und Produktionsumgebungen zu sichern.
So sichern Sie die Datenbank und den Code Ihrer Integrationsumgebung:
-
Erstellen Sie eine lokale Sicherung der Remote-Datenbank.
code language-bash magento-cloud db:dumpnote NOTE Der Befehl magento-cloud db:dumpführt den Befehl mysqldump mit dem Flag--single-transactionaus, mit dem Sie Ihre Datenbank sichern können, ohne die Tabellen zu sperren. -
Sichern Sie Code und Medien.
code language-bash php bin/magento setup:backup --code [--media]Optional können Sie
[--media]auslassen, wenn sich bereits eine große Anzahl von statischen Dateien in der Versionsverwaltung befinden.
So sichern Sie die Datenbank Ihrer Staging- oder Produktionsumgebung vor der Bereitstellung:
-
Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.
-
Erstellen Sie einen Datenbank-Dump. Um einen Zielordner für den DB-Dump auszuwählen, verwenden Sie die Option
--dump-directory.code language-bash vendor/bin/ece-tools db-dumpDer Dump-Vorgang erstellt eine
dump-<timestamp>.sql.gzArchivdatei in Ihrem Remote-Projektverzeichnis. Siehe Datenbank sichern.
Anwendungs-Upgrade
Lesen Sie die Service-Versionen, um die neuesten Anforderungen an die Softwareversion zu erfüllen, bevor Sie Ihr Programm aktualisieren.
So aktualisieren Sie die Anwendungsversion:
-
Wechseln Sie auf Ihrer lokalen Workstation in Ihr Projektverzeichnis.
-
Legen Sie die Versionsbeschränkung für die Ziel-Upgrade-Version fest. Dieser Schritt ist nur erforderlich, wenn sich die Zielversion außerhalb der bestehenden Einschränkung befindet.
code language-bash composer require-commerce "magento/magento-cloud-metapackage":">=CURRENT_VERSION <NEXT_VERSION" --no-updatenote NOTE Sie müssen die Versionsbeschränkungssyntax verwenden, um das ece-toolsPaket erfolgreich zu aktualisieren. Die Versionsbeschränkung finden Sie in dercomposer.json-Datei für die Version der Anwendungsvorlage die Sie für das Upgrade verwenden. -
Aktualisieren Sie Ihre
composer.jsonmit der Commerce-Kernaktualisierungsversion.code language-bash composer require-commerce magento/product-enterprise-edition 2.4.8 --no-update -
Wenn Sie B2B verwenden, aktualisieren Sie Ihre
composer.jsonmit der unterstützten Version für Commerce.code language-bash composer require-commerce magento/extension-b2b 1.5.2 --no-update -
Projektabhängigkeiten aktualisieren.
code language-bash composer update -
Überprüfen Sie die aktuell angewendeten Patches:
-
Wenn im
m2-hotfixes-Verzeichnis Patches installiert sind, Sie ein Adobe Commerce-Support-Ticket , und prüfen Sie gemeinsam mit dem Adobe Commerce-Support, welche Patches weiterhin auf die neue Version angewendet werden können. Entfernen Sie die nicht zutreffenden Patches aus demm2-hotfixes. -
Wenn [Quality Patches] in der
.magento.env.yaml-Datei angewendet wurden, überprüfen Sie, ob diese weiterhin auf die neue Version angewendet werden können. Entfernen Sie die nicht zutreffenden Patches aus demQUALITY_PATCHESAbschnitt der.magento.env.yaml.
Methode 1: Überprüfen Sie die entsprechenden Versionen in den Versionshinweisen zu Qualitäts-Patches
Methode 2: Anzeigen verfügbarer Patches und Status
Methode 3: Suchen nach Patches
-
-
Code-Änderungen hinzufügen, übertragen und per Push übertragen.
code language-bash git add -Acode language-bash git commit -m "Upgrade"code language-bash git push origin <branch-name>git add -Aist erforderlich, um alle geänderten Dateien zur Versionsverwaltung hinzuzufügen, da Composer Basispakete marshallt. Sowohlcomposer installals auchcomposer updatemarshallen Dateien aus dem Basispaket (magento/magento2-baseundmagento/magento2-ee-base) in den Paketstamm.Die Dateien, die Composer marshallt, gehören zur neuen Version von Adobe Commerce, um die veraltete Version derselben Dateien zu überschreiben. Derzeit ist das Marshalling in Adobe Commerce deaktiviert, sodass Sie die marshallten Dateien zur Quellcodeverwaltung hinzufügen müssen.
-
Warten Sie auf die Bereitstellung, um das Upgrade abzuschließen.
-
Überprüfen Sie das Upgrade in Ihrer Integrations-, Staging- oder Produktionsumgebung, indem Sie sich mit SSH anmelden und die Version überprüfen.
code language-bash php bin/magento --version
Erweiterungen aktualisieren
Überprüfen Sie Ihre Erweiterungs- und Modulseiten von Drittanbietern auf Marketplace oder anderen Unternehmens-Sites und überprüfen Sie, ob Adobe Commerce und Adobe Commerce in der Cloud-Infrastruktur unterstützt werden. Wenn Sie Erweiterungen und Module von Drittanbietern aktualisieren müssen, empfiehlt Adobe, eine neue Integrationsverzweigung zu verwenden, bei der die Erweiterungen deaktiviert sind.
So überprüfen und aktualisieren Sie Ihre Erweiterungen:
-
Erstellen Sie eine Verzweigung auf Ihrer lokalen Workstation.
-
Deaktivieren Sie Ihre Erweiterungen nach Bedarf.
-
Laden Sie, sofern verfügbar, Erweiterungs-Upgrades herunter.
-
Installieren Sie das Upgrade, wie in der Dokumentation des Drittanbieters beschrieben.
-
Aktivieren und Testen der Erweiterung.
-
Fügen Sie die Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie auf die Fernbedienung.
-
Push-Benachrichtigung und Testen in der Integrationsumgebung.
-
Um in einer Vorproduktionsumgebung zu testen, pushen Sie in die Staging-Umgebung.
Adobe empfiehlt, die Produktionsumgebung () aktualisieren und die aktualisierten Erweiterungen in den Site-Launch-Prozess einzuschließen.
Fehlerbehebung bei Upgrades
Wenn das Upgrade fehlschlägt, erhalten Sie eine Fehlermeldung im Browser, die Sie darauf hinweist, dass Sie nicht auf Ihre Storefront oder das Admin-Panel zugreifen können:
There has been an error processing your request
Exception printing is disabled by default for security reasons.
Error log record number: <error-number>
So beheben Sie den Fehler:
-
Wechseln Sie auf Ihrer lokalen Workstation in Ihr Projektverzeichnis.
-
Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.
code language-bash magento-cloud ssh -
Öffnen Sie die
./app/var/report/<error number>. -
Überprüfen Sie die und ermitteln Sie die Ursache des Problems.
-
Code-Änderungen hinzufügen, übertragen und per Push übertragen.
code language-bash git add -A && git commit -m "Fixed deployment failure" && git push origin <branch-name>