Commerce-Version aktualisieren

Sie können die Adobe Commerce-Code-Basis auf eine neuere Version aktualisieren. Überprüfen Sie vor dem Upgrade Ihres Projekts die Datei Systemanforderungen in der Installation Anleitung für die neuesten Anforderungen an die Softwareversion.

Abhängig von Ihrer Projektkonfiguration können Ihre Upgrade-Aufgaben Folgendes umfassen:

  • Aktualisierungsdienste wie MariaDB (MySQL), OpenSearch, RabbitMQ und Redis für die Kompatibilität mit neuen Adobe Commerce-Versionen.
  • Konvertieren Sie eine ältere Konfigurationsverwaltungsdatei.
  • Aktualisieren von .magento.app.yaml -Datei mit neuen Einstellungen für Erweiterungspunkte und Umgebungsvariablen.
  • Aktualisieren Sie Erweiterungen von Drittanbietern auf die neueste unterstützte Version.
  • Aktualisieren von .gitignore -Datei.
TIP
Bevor Sie mit einem Upgrade- oder Patchprozess beginnen, erstellen Sie einen aktiven Zweig aus der Integrationsumgebung und checken Sie die neue Verzweigung auf Ihrer lokalen Workstation aus. Wenn Sie eine Verzweigung dem Upgrade- oder Patch-Prozess zuweisen, können Sie Störungen Ihrer laufenden Arbeit vermeiden.
TIP
Für Pro-Projekte müssen Sie Senden eines Adobe Commerce Support-Tickets installieren oder aktualisieren Dienstleistungen in Staging und Production nur Umgebungen.
Geben Sie die erforderlichen Dienständerungen an, fügen Sie Ihre aktualisierte .magento.app.yaml und services.yaml und geben Sie die PHP-Version im Ticket an. Informationen zu Self-Service-Änderungen an PHP-Versionen, Erweiterungen oder Umgebungseinstellungen finden Sie unter PHP-Einstellungen in Anwendungskonfiguration.
Für Änderungen an einer live Produktionsumgebung (Nur Pro), müssen Sie eine Benachrichtigung von mindestens 48 Stunden bereitstellen, damit das Cloud-Infrastruktur-Team genügend Zeit hat, Ressourcen zu mobilisieren und ein sicheres Upgrade durchzuführen.

Upgrade von älteren Versionen

Wenn Sie ein Upgrade von einer Commerce-Version starten, die älter als 2.1 ist, können einige Einschränkungen in der Adobe Commerce-Code-Basis Ihre Möglichkeiten beeinträchtigen, Aktualisierung für eine bestimmte ECE-Tools-Version oder Upgrade zur nächsten unterstützten Commerce-Version wechseln. Verwenden Sie die folgende Tabelle, um den besten Pfad zu ermitteln:

Aktuelle Version
Aktualisierungspfad
2.1.3 und früher
Aktualisieren Sie Adobe Commerce auf Version 2.1.4 oder höher, bevor Sie fortfahren. Führen Sie dann einen Einmaliges Upgrade zur Installation von ECE-Tools.
2.1.4 - 2.1.14
ECE-Tools aktualisieren Paket.
Siehe Versionshinweise für 2 002,0,9 und späteren Versionen von 2002.0.x.
2.1.15 - 2.1.16
ECE-Tools aktualisieren Paket.
Siehe Versionshinweise für2 002,0,9 Und später.
2.2.x und höher
ECE-Tools aktualisieren Paket.
Siehe Versionshinweise für2 002,0,8 Und später.
NOTE
Wenn Sie eine Version von Adobe Commerce in einer Cloud-Infrastruktur verwenden, die die Variable ece-tools -Paket erstellen, müssen Sie dann eine einmalige Aktualisierung in Ihr Cloud-Projekt klicken, um veraltete Pakete zu entfernen. Wenn Sie derzeit ece-tools und Sie müssen es aktualisieren, siehe ECE-Tools-Paket aktualisieren.

Konfigurationsverwaltung

In älteren Versionen von Adobe Commerce, z. B. 2.1.4 oder höher bis 2.2.x oder höher, wurde ein config.local.php -Datei für die Konfigurationsverwaltung. Adobe Commerce Version 2.2.0 und höher verwendet die config.php -Datei, die genau wie die config.local.php -Datei, aber sie verfügt über verschiedene Konfigurationseinstellungen, die eine Liste Ihrer aktivierten Module und zusätzliche Konfigurationsoptionen enthalten.

Beim Upgrade von einer älteren Version müssen Sie Folgendes migrieren config.local.php Datei zur Verwendung der neueren config.php -Datei. Führen Sie die folgenden Schritte aus, um Ihre Konfigurationsdatei zu sichern und eine zu erstellen.

So erstellen Sie ein temporäres config.php Datei:

  1. Kopie erstellen von config.local.php Datei und Benennen config.php.

  2. Fügen Sie diese Datei zum hinzu app/etc Ordner Ihres Projekts.

  3. Fügen Sie die Datei zu Ihrer Verzweigung hinzu und übertragen Sie sie.

  4. Übertragen Sie die Datei in die Integrationsverzweigung.

  5. Fahren Sie mit dem Upgrade-Prozess fort.

WARNING
Nach einem Upgrade können Sie die Datei config.php Datei erstellen und eine neue, vollständige Datei erstellen. Sie können diese Datei nur einmal löschen, um sie zu ersetzen. Nachdem ein neues erstellt wurde, schließen Sie config.php -Datei verwenden, können Sie die Datei nicht löschen, um eine neue Datei zu generieren. Siehe Konfigurationsverwaltung und Pipeline-Bereitstellung.

Überprüfen von Zend Framework Composer-Abhängigkeiten

Beim Upgrade auf 2.3.x oder höher ab 2.2.x ​Überprüfen Sie, ob die Abhängigkeiten des Zend-Frameworks zur Datei hinzugefügt wurden. autoload Eigenschaft des composer.json -Datei, um Laminas zu unterstützen. Dieses Plug-in unterstützt neue Anforderungen für das Zend Framework, das zum Laminas-Projekt migriert wurde. Siehe Migration von Zend Framework zum Laminas-Projekt am Magento DevBlog.

So überprüfen Sie die auto-load:psr-4 Konfiguration:

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

  2. Sehen Sie sich Ihre Integrationsverzweigung an.

  3. Öffnen Sie composer.json -Datei in einem Texteditor speichern.

  4. Überprüfen Sie die autoload:psr-4 -Abschnitt für die Zend Plug-in Manager-Implementierung für Controller-Abhängigkeiten.

    code language-json
     "autoload": {
        "psr-4": {
           "Magento\\Framework\\": "lib/internal/Magento/Framework/",
           "Magento\\Setup\\": "setup/src/Magento/Setup/",
           "Magento\\": "app/code/Magento/",
           "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"
        },
    }
    
  5. Wenn die Zend-Abhängigkeit fehlt, aktualisieren Sie composer.json Datei:

    • Fügen Sie die folgende Zeile zur hinzu. autoload:psr-4 -Abschnitt.

      code language-json
      "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"
      
    • Aktualisieren Sie die Projektabhängigkeiten.

      code language-bash
      composer update
      
    • Code-Änderungen hinzufügen, übertragen und per Push übertragen.

      code language-bash
      git add -A
      
      code language-bash
      git commit -m "Add Zend plugin manager implementation for controllers dependency for Laminas support"
      
      code language-bash
      git push origin <branch-name>
      
    • Zusammenführen von Änderungen in der Staging-Umgebung und anschließend in der Produktion.

Konfigurationsdateien

Vor dem Upgrade der Anwendung müssen Sie Ihre Projektkonfigurationsdateien aktualisieren, um Änderungen an den Standardkonfigurationseinstellungen für Adobe Commerce in der Cloud-Infrastruktur oder der Anwendung zu berücksichtigen. Die neuesten Standardeinstellungen finden Sie in der Magento-Cloud-GitHub-Repository.

.magento.app.yaml

Überprüfen Sie immer die in der .magento.app.yaml -Datei für die installierte Version, da sie steuert, wie Ihr Programm die Cloud-Infrastruktur erstellt und bereitstellt. Das folgende Beispiel gilt für Version 2.4.7 und verwendet Composer 2.7.2. Die build: flavor: -Eigenschaft wird nicht für Composer 2.x verwendet; siehe Installieren und Verwenden von Composer 2.

So aktualisieren Sie .magento.app.yaml Datei:

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

  2. Öffnen und bearbeiten Sie magento.app.yaml -Datei.

  3. Aktualisieren Sie die PHP-Optionen.

    code language-yaml
    type: php:8.3
    
    build:
        flavor: none
    dependencies:
        php:
            composer/composer: '2.7.2'
    
  4. Ändern Sie die hooks Eigenschaft build und deploy Befehle.

    code language-yaml
    hooks:
        # We run build hooks before your application has been packaged.
        build: |
            set -e
            composer install
            php ./vendor/bin/ece-tools run scenario/build/generate.xml
            php ./vendor/bin/ece-tools run scenario/build/transfer.xml
        # We run deploy hook after your application has been deployed and started.
        deploy: |
            php ./vendor/bin/ece-tools run scenario/deploy.xml
        # We run post deploy hook to clean and warm the cache. Available with ECE-Tools 2002.0.10.
        post_deploy: |
            php ./vendor/bin/ece-tools run scenario/post-deploy.xml
    
  5. Fügen Sie die folgenden Umgebungsvariablen am Ende der Datei hinzu.

    Für Adobe Commerce 2.2.x bis 2.3.x-

    code language-yaml
    variables:
        env:
            CONFIG__DEFAULT__PAYPAL_ONBOARDING__MIDDLEMAN_DOMAIN: 'payment-broker.magento.com'
            CONFIG__STORES__DEFAULT__PAYMENT__BRAINTREE__CHANNEL: 'Magento_Enterprise_Cloud_BT'
            CONFIG__STORES__DEFAULT__PAYPAL__NOTATION_CODE: 'Magento_Enterprise_Cloud'
    

    Für Adobe Commerce 2.4.x-

    code language-yaml
    variables:
        env:
            CONFIG__DEFAULT__PAYPAL_ONBOARDING__MIDDLEMAN_DOMAIN: 'payment-broker.magento.com'
            CONFIG__STORES__DEFAULT__PAYPAL__NOTATION_CODE: 'Magento_Enterprise_Cloud'
    
  6. Speichern Sie die Datei. Übernehmen oder übertragen Sie noch keine Änderungen an die Remote-Umgebung.

  7. Fahren Sie mit dem Upgrade-Prozess fort.

composer.json

Überprüfen Sie vor einem Upgrade immer, ob die Abhängigkeiten in der composer.json -Dateien sind mit der Adobe Commerce-Version kompatibel.

So aktualisieren Sie composer.json -Datei für Adobe Commerce Version 2.4.4 und höher:

  1. Folgendes hinzufügen allow-plugins in die config Bereich:

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

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

    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.

Projekt-Backup

Es wird empfohlen, vor einem Upgrade eine Sicherungskopie des Projekts 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
    NOTE
    Die magento-cloud db:dump Der Befehl führt den aus mysqldump Befehl mit dem --single-transaction -Markierung, mit der 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 auslassen [--media] Wenn Sie über eine große Anzahl von statischen Dateien verfügen, die sich bereits in der Versionsverwaltung befinden.

So sichern Sie die Datenbank der Staging- oder Produktionsumgebung vor der Bereitstellung:

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

  2. Erstellen eines Datenbank-Dump. Um einen Zielordner für den DB-Dump auszuwählen, verwenden Sie --dump-directory Option.

    code language-bash
    vendor/bin/ece-tools db-dump
    

    Der Dump-Vorgang erstellt eine dump-<timestamp>.sql.gz Archivieren Sie die Datei in Ihrem Remote-Projektverzeichnis. Siehe Datenbank sichern.

Anwendungs-Upgrade

Überprüfen Sie die Service-Versionen Informationen zu den aktuellen Anforderungen an die Softwareversion, bevor Sie Ihr Programm aktualisieren.

So aktualisieren Sie die Anwendungsversion:

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

  2. Legen Sie die Upgrade-Version mithilfe der Syntax der Versionsbeschränkung.

    code language-bash
    composer require "magento/magento-cloud-metapackage":">=CURRENT_VERSION <NEXT_VERSION" --no-update
    
    note note
    NOTE
    Sie müssen die Versionsbeschränkungssyntax verwenden, um erfolgreich zu aktualisieren ece-tools Paket. Die Versionsbeschränkung finden Sie in der Datei composer.json -Datei für die -Version Anwendungsvorlage Sie verwenden für das Upgrade.
  3. Aktualisieren Sie das Projekt.

    code language-bash
    composer update
    
  4. 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. Beide composer install und composer update Marshallen von Dateien aus dem Basispaket (magento/magento2-base und magento/magento2-ee-base) in den Paketstamm geschrieben.

    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 Quell-Code-Verwaltung hinzufügen müssen.

  5. Warten Sie, bis die Bereitstellung abgeschlossen ist.

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

Erstellen einer Datei config.php

Wie in erwähnt KonfigurationsverwaltungNach dem Upgrade müssen Sie eine aktualisierte Datei erstellen. config.php -Datei. Schließen Sie alle zusätzlichen Konfigurationsänderungen über den Administrator in Ihrer Integrationsumgebung ab.

So erstellen Sie eine systemspezifische Konfigurationsdatei:

  1. Verwenden Sie vom Terminal aus einen SSH-Befehl, um das /app/etc/config.php -Datei für die Umgebung.

    code language-bash
    ssh <SSH-URL> "<Command>"
    

    So führen Sie beispielsweise für Pro Folgendes aus: scd-dump am integration Verzweigung:

    code language-bash
    ssh <project-id-integration>@ssh.us.magentosite.cloud "php vendor/bin/ece-tools config:dump"
    
  2. Übertragen Sie die config.php Datei auf den lokalen Workstations mithilfe von rsync oder scp. Sie können diese Datei nur lokal zur Verzweigung hinzufügen.

    code language-bash
    rsync <SSH-URL>:app/etc/config.php ./app/etc/config.php
    
  3. Code-Änderungen hinzufügen, übertragen und per Push übertragen.

    code language-bash
    git add app/etc/config.php && git commit -m "Add system-specific configuration" && git push origin master
    

    Dadurch wird eine aktualisierte generiert /app/etc/config.php Datei mit einer Modulliste und Konfigurationseinstellungen.

WARNING
Für ein Upgrade löschen Sie config.php -Datei. Nachdem diese Datei zu Ihrem Code hinzugefügt wurde, sollten Sie nicht Löschen Sie sie. Wenn Sie Einstellungen entfernen oder bearbeiten müssen, bearbeiten Sie die Datei manuell.

Erweiterungen aktualisieren

Überprüfen Sie Ihre Erweiterungs- und Modulseiten von Drittanbietern auf Marketplace oder anderen Unternehmens-Sites und überprüfen Sie die Unterstützung für Adobe Commerce und Adobe Commerce auf Cloud-Infrastrukturen. Wenn Sie Erweiterungen und Module von Drittanbietern aktualisieren müssen, empfiehlt Adobe, mit deaktivierten Erweiterungen in einer neuen Integrationsverzweigung zu arbeiten.

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

  8. Pushen Sie in die Staging-Umgebung, um sie in einer Vorproduktionsumgebung zu testen.

Adobe empfiehlt dringend, die Produktionsumgebung zu aktualisieren Vorher Einschließen der aktualisierten Erweiterungen in Ihren Site-Launch-Prozess.

NOTE
Wenn Sie die Anwendungsversion aktualisieren, wird der Upgrade-Prozess auf die neueste Version des Programms aktualisiert Fastly CDN-Modul Automatisch.

Fehlerbehebung bei Upgrades

Wenn das Upgrade fehlgeschlagen ist, 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>

Beheben des Fehlers:

  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 ./app/var/report/<error number> -Datei.

  4. Überprüfen der Protokolle 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
05f2f56e-ac5d-4931-8cdb-764e60e16f26