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.yaml mit 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.yaml aktuell, vollständig und gültig bleiben, da die Inhalte während der Bereitstellung validiert werden.
  • Aktualisieren Sie die .magento.app.yaml Datei mit neuen Einstellungen für Erweiterungspunkte und Umgebungsvariablen.

TIP
Bevor Sie mit einem Upgrade oder einem Patch-Vorgang beginnen, erstellen Sie eine aktive Verzweigung aus der Integrationsumgebung und checken Sie die neue Verzweigung auf Ihrer lokalen Workstation aus. Wenn Sie dem Upgrade- oder Patch-Prozess eine Verzweigung zuweisen, vermeiden Sie Konflikte mit laufenden Arbeiten.

Pro Services-Support

Gehen Sie wie folgt vor, um ein Pro-Service-Upgrade in der Staging- oder Produktionsumgebung anzufordern und abzuschließen:

  1. Um (Services​ nur in Staging und Production Umgebungen 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.
  2. 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.
  3. 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.

  4. 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.
TIP
Für Pro-Projekte erfordern Service-Upgrades in der Produktion auch eine vorzeitige Planung und einen zweiteiligen Bestätigungsprozess mit Adobe-Support. Siehe Pro Services-Support.

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**:

  1. Fügen Sie dem config Abschnitt die folgenden allow-plugins hinzu:

    code language-json
    "config": {
       "allow-plugins": {
          "dealerdirect/phpcodesniffer-composer-installer": true,
          "laminas/laminas-dependency-plugin": true,
          "magento/*": true
       }
    },
    
  2. Fügen Sie dem Abschnitt require das folgende Plug-in hinzu:

    code language-json
    "require": {
        "magento/composer-root-update-plugin": "^2.0.3"
    },
    
  3. Fügen Sie dem Abschnitt extra:component_paths die folgende Komponente hinzu:

    code language-json
    "extra": {
       "component_paths": {
          "tinymce/tinymce": "lib/web/tiny_mce_5"
       },
    },
    
  4. Speichern Sie die Datei. Übernehmen oder übertragen Sie noch keine Änderungen an Ihre Verzweigung.

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

  1. Erstellen Sie eine lokale Sicherung der Remote-Datenbank.

    code language-bash
    magento-cloud db:dump
    
    note
    NOTE
    Der Befehl magento-cloud db:dump führt den Befehl mysqldump mit dem Flag --single-transaction aus, mit dem Sie Ihre Datenbank sichern können, ohne die Tabellen zu sperren.
  2. 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:

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

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

    Der Dump-Vorgang erstellt eine dump-<timestamp>.sql.gz Archivdatei 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:

  1. Wechseln Sie auf Ihrer lokalen Workstation in Ihr Projektverzeichnis.

  2. 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-update
    
    note
    NOTE
    Sie müssen die Versionsbeschränkungssyntax verwenden, um das ece-tools Paket erfolgreich zu aktualisieren. Die Versionsbeschränkung finden Sie in der composer.json-Datei für die Version der Anwendungsvorlage die Sie für das Upgrade verwenden.
  3. Aktualisieren Sie Ihre composer.json mit der Commerce-Kernaktualisierungsversion.

    code language-bash
    composer require-commerce magento/product-enterprise-edition 2.4.8 --no-update
    
  4. Wenn Sie B2B verwenden, aktualisieren Sie Ihre composer.json mit der unterstützten Version für Commerce.

    code language-bash
    composer require-commerce magento/extension-b2b 1.5.2 --no-update
    
  5. Projektabhängigkeiten aktualisieren.

    code language-bash
    composer update
    
  6. Ü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 dem m2-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 dem QUALITY_PATCHES Abschnitt 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

  7. Code-Änderungen hinzufügen, übertragen und per Push übertragen.

    code language-bash
    git add -A
    
    code language-bash
    git commit -m "Upgrade"
    
    code language-bash
    git push origin <branch-name>
    

    git add -A ist erforderlich, um alle geänderten Dateien zur Versionsverwaltung hinzuzufügen, da Composer Basispakete marshallt. Sowohl composer install als auch composer update marshallen Dateien aus dem Basispaket (magento/magento2-base und magento/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.

  8. Warten Sie auf die Bereitstellung, um das Upgrade abzuschließen.

  9. Ü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:

  1. Erstellen Sie eine Verzweigung auf Ihrer lokalen Workstation.

  2. Deaktivieren Sie Ihre Erweiterungen nach Bedarf.

  3. Laden Sie, sofern verfügbar, Erweiterungs-Upgrades herunter.

  4. Installieren Sie das Upgrade, wie in der Dokumentation des Drittanbieters beschrieben.

  5. Aktivieren und Testen der Erweiterung.

  6. Fügen Sie die Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie auf die Fernbedienung.

  7. Push-Benachrichtigung und Testen in der Integrationsumgebung.

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

NOTE
Wenn Sie Ihre Anwendungsversion aktualisieren, wird der Upgrade-Prozess automatisch auf die neueste Version des Fastly CDN-Moduls aktualisiert.

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:

  1. Wechseln Sie auf Ihrer lokalen Workstation in Ihr Projektverzeichnis.

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

    code language-bash
    magento-cloud ssh
    
  3. Öffnen Sie die ./app/var/report/<error number>.

  4. Überprüfen Sie die ​ und ermitteln Sie die Ursache des Problems.

  5. 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>
    
recommendation-more-help
commerce-on-cloud-help-cloud-guide