Commerce-versie upgraden

U kunt de Adobe Commerce-codebasis upgraden naar een nieuwere versie. Alvorens uw project te bevorderen, herzie de vereisten van het Systeemin de gids van de Installatie voor de recentste vereisten van de softwareversie.

Afhankelijk van uw projectconfiguratie, kunnen uw verbeteringstaken het volgende omvatten:

  • Werk services bij, bijvoorbeeld MariaDB (MySQL), OpenSearch, RabbitMQ en Redis, voor compatibiliteit met nieuwe Adobe Commerce-versies.
  • Converteer een ouder configuratiebeheerbestand.
  • Werk het .magento.app.yaml dossier met nieuwe montages voor haken en omgevingsvariabelen bij.
  • Voer een upgrade uit van externe extensies naar de nieuwste ondersteunde versie.
  • Werk het .gitignore bestand bij.
TIP
Voordat u met een upgrade of een patchproces begint, maakt u een actieve vertakking vanuit de integratieomgeving en checkt u de nieuwe vertakking uit naar uw lokale werkstation. Als u een vertakking aan de upgrade of het patchproces toewijst, voorkomt u dat uw werk wordt gehinderd.
TIP
Voor Pro projecten, moet u een kaartje van de Steun van Adobe Commercevoorleggen om dienstenin Staging en Production slechts milieu's te installeren of bij te werken.
Geef aan welke servicewijzigingen nodig zijn, neem de bijgewerkte .magento.app.yaml - en services.yaml -bestanden op en geef de PHP-versie op in het ticket. Voor zelfbedienings veranderingen in PHP versie, uitbreidingen, of milieu montages, zie PHP montagesin configuratie van de Toepassing.
Voor veranderingen in een levende milieu van de Productie (slechts Pro), wordt een minimum van 48 uurverklaring vereist. Hierdoor kan het infrastructuurteam van de cloud voldoende tijd krijgen om bronnen te bundelen en een veilige upgrade uit te voeren. De opzegtermijn begint wanneer het infrastructuurteam de aanvraag erkent en de upgrade plant, met uitzondering van weekends. Bijvoorbeeld, om de dienstverbeteringen te hebben op een maandag worden voltooid, moet een erkenning van de geplande verbetering tegen Woensdag worden ontvangen. Tijdens piekvraagperiodes, zou het meer tijd kunnen vergen om uw verzoek te verwerken.

Upgrade uitvoeren vanaf oudere versies

Als u met een verbetering van een versie van Commerce ouder dan 2.1 begint, kunnen sommige beperkingen in de codebasis van Adobe Commerce uw capaciteit beïnvloeden om __ aan een specifieke ECE-Hulpmiddelen versie of aan verbetering aan de volgende gesteunde versie van Commerce bij te werken. Gebruik de volgende tabel om het beste pad te bepalen:

Huidige versie
Upgradepad
2.1.3 en eerdere versies
Upgrade Adobe Commerce naar versie 2.1.4 of hoger voordat u verdergaat. Dan voer a eenmalig verbetering uit om ECE-Hulpmiddelente installeren.
2.1.4 - 2.1.14
Update ECE-Hulpmiddelenpakket.
zie versienota's voor 2002.0.9en recentere versies 2002.0.x.
2.1.15 - 2.1.16
Update ECE-Hulpmiddelenpakket.
zie versienota's voor 2002.0.9en later.
2.2.x en hoger
Update ECE-Hulpmiddelenpakket.
zie versienota's voor 2002.0.8en later.
NOTE
Als u een versie van Adobe Commerce op wolkeninfrastructuur gebruikt die niet het ece-tools pakket bevat, dan moet u a éénmalige verbeteringaan uw wolkenproject uitvoeren om verouderde pakketten te verwijderen. Als u momenteel het ece-tools pakket gebruikt en u het moet bijwerken, zie Update het ECE-Hulppakket.

Configuratiebeheer

Oudere versies van Adobe Commerce, zoals 2.1.4 of hoger tot 2.2.x of hoger, hebben een config.local.php -bestand gebruikt voor configuratiebeheer. Adobe Commerce versie 2.2.0 en hoger gebruiken het config.php -bestand, dat precies hetzelfde werkt als het config.local.php -bestand, maar dat andere configuratie-instellingen heeft, waaronder een lijst met de ingeschakelde modules en aanvullende configuratieopties.

Wanneer u een upgrade uitvoert vanaf een oudere versie, moet u het config.local.php -bestand migreren om het nieuwere config.php -bestand te kunnen gebruiken. Gebruik de volgende stappen om een back-up van het configuratiebestand te maken en een bestand te maken.

om een tijdelijk config.php dossier te creëren:

  1. Maak een kopie van het config.local.php -bestand en noem het config.php .

  2. Voeg dit bestand toe aan de map app/etc van uw project.

  3. Voeg het bestand toe en wijs het toe aan uw vertakking.

  4. Verplaats het bestand naar de integratietak.

  5. Ga door met het upgradeproces.

WARNING
Na de upgrade kunt u het config.php -bestand verwijderen en een nieuw, volledig bestand genereren. U kunt dit bestand alleen deze keer verwijderen om het te vervangen. Nadat u een nieuw, volledig config.php bestand hebt gegenereerd, kunt u het bestand niet verwijderen om een nieuw bestand te genereren. Zie het Beheer van de Configuratie en Plaatsing van de Pijpleiding.

Afhankelijkheden van Zend Framework-composer verifiëren

Wanneer bevordering aan 2.3.x of recenter van 2.2.x, verifieer dat de gebiedsdelen van het Kader van Zend aan het autoload bezit van het composer.json dossier zijn toegevoegd om Laminas te steunen. Deze insteekmodule ondersteunt nieuwe vereisten voor het Zend Framework, dat naar het Laminas-project is gemigreerd. Zie Migratie van Kader van Zend aan het Project van Laminasop het Magento DevBlog.

om de auto-load:psr-4 configuratie te controleren:

  1. Wijzig op uw lokale werkstation de projectmap.

  2. Ontdek je integratietak.

  3. Open het composer.json -bestand in een teksteditor.

  4. Controleer de sectie autoload:psr-4 voor de Zend plugin manager implementatie voor controlemechanismeafhankelijkheid.

    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. Als de Zend-afhankelijkheid ontbreekt, werkt u het composer.json -bestand bij:

    • Voeg de volgende regel toe aan de sectie autoload:psr-4 .

      code language-json
      "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"
      
    • Werk de projectgebiedsdelen bij.

      code language-bash
      composer update
      
    • Wijzigingen in code toevoegen, vastleggen en doorvoeren.

      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>
      
    • Voeg de wijzigingen in de Staging-omgeving en vervolgens in Production samen.

Configuratiebestanden

Voordat u de toepassing kunt upgraden, moet u de projectconfiguratiebestanden bijwerken om rekening te houden met wijzigingen in de standaardconfiguratie-instellingen voor Adobe Commerce op de cloudinfrastructuur of de toepassing. De recentste gebreken kunnen in de magento-cloud bewaarplaats GitHubworden gevonden.

.magento.app.yaml

Controleer altijd de waarden in het .magento.app.yamldossier voor uw geïnstalleerde versie, omdat het de manier controleert uw toepassing bouwt en aan de wolkeninfrastructuur opstelt. Het volgende voorbeeld is voor versie 2.4.7 en gebruikt Composer 2.7.2. Het build: flavor: bezit wordt niet gebruikt voor Composer 2.x; zie Installerend en gebruikend Composer 2.

om het .magento.app.yaml dossier bij te werken:

  1. Wijzig op uw lokale werkstation de projectmap.

  2. Open en bewerk het magento.app.yaml -bestand.

  3. Werk de PHP-opties bij.

    code language-yaml
    type: php:8.3
    
    build:
        flavor: none
    dependencies:
        php:
            composer/composer: '2.7.2'
    
  4. Wijzig de opdrachten hooks property build en deploy .

    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. Voeg de volgende omgevingsvariabelen toe aan het einde van het bestand.

    Voor Adobe Commerce 2.2.x tot en met 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'
    

    Voor 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. Sla het bestand op. Breng nog geen wijzigingen aan in de externe omgeving.

  7. Ga door met het upgradeproces.

composer.json

Controleer voordat u de upgrade uitvoert of de afhankelijkheden in het composer.json -bestand compatibel zijn met de Adobe Commerce-versie.

om het composer.json dossier voor versie 2.4.4 van Adobe Commerce en later bij te werken:

  1. Voeg het volgende allow-plugins toe aan de sectie config :

    code language-json
    "config": {
       "allow-plugins": {
          "dealerdirect/phpcodesniffer-composer-installer": true,
          "laminas/laminas-dependency-plugin": true,
          "magento/*": true
       }
    },
    
  2. Voeg de volgende plug-in toe aan de sectie require :

    code language-json
    "require": {
        "magento/composer-root-update-plugin": "^2.0.3"
    },
    
  3. Voeg de volgende component toe aan de sectie extra:component_paths :

    code language-json
    "extra": {
       "component_paths": {
          "tinymce/tinymce": "lib/web/tiny_mce_5"
       },
    },
    
  4. Sla het bestand op. Wijzig de vertakking nog niet en duw er nog niet op.

  5. Ga door met het upgradeproces.

Projectback-up

We raden u aan een back-up van uw project te maken voordat u de upgrade uitvoert. Gebruik de volgende stappen om een back-up te maken van uw integratie-, staging- en productieomgevingen.

aan file uw gegevensbestand van het integratiemilieu en code:

  1. Maak een lokale back-up van de externe database.

    code language-bash
    magento-cloud db:dump
    
    note note
    NOTE
    Het magento-cloud db:dump bevel stelt het mysqldumpbevel met de --single-transaction vlag in werking, die u aan file uw gegevensbestand zonder de lijsten te sluiten toestaat.
  2. Maak een back-up van code en media.

    code language-bash
    php bin/magento setup:backup --code [--media]
    

    U kunt [--media] ook weglaten als u een groot aantal statische bestanden hebt die al in bronbeheer staan.

aan file uw het Staging of milieu gegevensbestand van de Productie alvorens op te stellen:

  1. Gebruik SSH om u aan te melden bij de externe omgeving.

  2. Creeer a gegevensbestandstortplaats. Als u een doelmap voor de DB-dump wilt kiezen, gebruikt u de optie --dump-directory .

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

    Met de dump-bewerking maakt u een dump-<timestamp>.sql.gz archiefbestand in uw externe projectmap. Zie file gegevensbestand.

Toepassingsupgrade

Herzie de informatie van de de dienstversiesvoor de recentste vereisten van de softwareversie alvorens uw toepassing te bevorderen.

om de toepassingsversie te bevorderen:

  1. Wijzig op uw lokale werkstation de projectmap.

  2. Plaats de verbeteringsversie gebruikend de syntaxis van de versiebeperking.

    code language-bash
    composer require "magento/magento-cloud-metapackage":">=CURRENT_VERSION <NEXT_VERSION" --no-update
    
    note note
    NOTE
    U moet de syntaxis van de versiebeperking gebruiken om het ece-tools -pakket bij te werken. U kunt de versiebeperking in het composer.json dossier voor de versie van het toepassingsmalplaatjevinden u voor de verbetering gebruikt.
  3. Werk het project bij.

    code language-bash
    composer update
    
  4. Bekijk de patches die momenteel worden toegepast:

    • Als er om het even welke die flarden in de m2-hotfixes folder worden geïnstalleerd zijn, voorlegt een kaartje van de Steun van Adobe Commerceen het werk met de Steun van Adobe Commerce om te verifiëren welke flarden nog op de nieuwe versie kunnen worden toegepast. Verwijder de niet-toepasselijke patch(es) uit de map m2-hotfixes .

    • Als er om het even welke [ Patches van de Kwaliteit ] in het .magento.env.yaml dossier worden toegepast, verifieer of zij nog op de nieuwe versie kunnen worden toegepast. Verwijder de niet-toepasselijke patch(es) uit de sectie QUALITY_PATCHES van het .magento.env.yaml -bestand.

    Methode 1: verifieer de toepasselijke versies in de de versienota's van de Patches van de Kwaliteit

    Methode 2: de beschikbare flarden van de Mening en status

    Methode 3: Onderzoek naar flarden

  5. Wijzigingen in code toevoegen, vastleggen en doorvoeren.

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

    git add -A is vereist om alle gewijzigde bestanden toe te voegen aan bronbesturing vanwege de manier waarop Composer basispakketten marshals. Zowel composer install als composer update marshal dossiers van het basispakket (magento/magento2-base en magento/magento2-ee-base) in de pakketwortel.

    De bestanden die Composer marshals hebben, horen bij de nieuwe versie van Adobe Commerce, om de verouderde versie van dezelfde bestanden te overschrijven. Op dit moment is het rangschikken in Adobe Commerce uitgeschakeld, dus u moet de gemarcheerde bestanden toevoegen aan bronbesturing.

  6. Wacht tot de implementatie is voltooid.

  7. Verifieer de verbetering in uw Integratie, het Staging, of milieu van de Productie door SSH te gebruiken om login en de versie te controleren.

    code language-bash
    php bin/magento --version
    

Een bestand config.php maken

Zoals vermeld in beheer van de Configuratie, na bevordering, moet u een bijgewerkt config.php dossier creëren. Voltooi eventuele aanvullende configuratiewijzigingen via de beheerfunctie in uw integratieomgeving.

om een systeem-specifiek configuratiedossier tot stand te brengen:

  1. Gebruik vanaf de terminal een SSH-opdracht om het /app/etc/config.php -bestand voor de omgeving te genereren.

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

    Als u bijvoorbeeld voor Pro de instructie scd-dump wilt uitvoeren op de integration -vertakking:

    code language-bash
    ssh <project-id-integration>@ssh.us.magentosite.cloud "php vendor/bin/ece-tools config:dump"
    
  2. Breng het config.php -bestand via rsync of scp over naar uw lokale werkstations. U kunt dit bestand alleen lokaal aan de vertakking toevoegen.

    code language-bash
    rsync <SSH-URL>:app/etc/config.php ./app/etc/config.php
    
  3. Wijzigingen in code toevoegen, vastleggen en doorvoeren.

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

    Hiermee wordt een bijgewerkt /app/etc/config.php -bestand gegenereerd met een lijst met modules en configuratie-instellingen.

WARNING
Voor een upgrade verwijdert u het bestand config.php . Zodra dit dossier aan uw code wordt toegevoegd, zou u niet het moeten schrappen. Als u instellingen moet verwijderen of bewerken, bewerkt u het bestand handmatig.

Extensies upgraden

Bekijk de extensie- en modulepagina's van derden in Marketplace of andere bedrijfssites en controleer de ondersteuning voor Adobe Commerce en Adobe Commerce op cloudinfrastructuur. Als u extensies en modules van derden moet bijwerken, raadt de Adobe aan te werken in een nieuwe integratievertakking met uw extensies uitgeschakeld.

om uw uitbreidingen te verifiëren en te bevorderen:

  1. Maak een vertakking op uw lokale werkstation.

  2. Schakel de extensies desgewenst uit.

  3. Indien beschikbaar, downloadextensies voor upgrades.

  4. Installeer de upgrade zoals wordt beschreven in de documentatie van derden.

  5. Schakel de extensie in en test deze.

  6. Voeg de wijzigingen aan de externe code toe, wijs deze aan en duw erop.

  7. Zet uw integratieomgeving aan en test deze.

  8. Druk op de testomgeving om te testen in een pre-productieomgeving.

De Adobe adviseert sterk bevordering uw milieu van de Productie vóór met inbegrip van de promotieuitbreidingen in uw proces van de plaatslancering.

NOTE
Wanneer u uw toepassingsversie bevordert, werkt het verbeteringsproces aan de recentste versie van de Snelle CDN moduleautomatisch bij.

Upgrade problemen oplossen

Als de upgrade is mislukt, ontvangt u een foutbericht in de browser waarin wordt aangegeven dat u geen toegang hebt tot uw winkel of het deelvenster Beheer:

There has been an error processing your request
Exception printing is disabled by default for security reasons.
  Error log record number: <error-number>

om de fout op te lossen:

  1. Wijzig op uw lokale werkstation de projectmap.

  2. Gebruik SSH om u aan te melden bij de externe omgeving.

    code language-bash
    magento-cloud ssh
    
  3. Open het ./app/var/report/<error number> -bestand.

  4. onderzoek de logboekenen bepaal de bron van de kwestie.

  5. Wijzigingen in code toevoegen, vastleggen en doorvoeren.

    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