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.
Staging
en Production
slechts milieu's te installeren of bij te werken..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.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:
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:
-
Maak een kopie van het
config.local.php
-bestand en noem hetconfig.php
. -
Voeg dit bestand toe aan de map
app/etc
van uw project. -
Voeg het bestand toe en wijs het toe aan uw vertakking.
-
Verplaats het bestand naar de integratietak.
-
Ga door met het upgradeproces.
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:
-
Wijzig op uw lokale werkstation de projectmap.
-
Ontdek je integratietak.
-
Open het
composer.json
-bestand in een teksteditor. -
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/" }, }
-
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:
-
Wijzig op uw lokale werkstation de projectmap.
-
Open en bewerk het
magento.app.yaml
-bestand. -
Werk de PHP-opties bij.
code language-yaml type: php:8.3 build: flavor: none dependencies: php: composer/composer: '2.7.2'
-
Wijzig de opdrachten
hooks
propertybuild
endeploy
.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
-
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'
-
Sla het bestand op. Breng nog geen wijzigingen aan in de externe omgeving.
-
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:
-
Voeg het volgende
allow-plugins
toe aan de sectieconfig
:code language-json "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, "laminas/laminas-dependency-plugin": true, "magento/*": true } },
-
Voeg de volgende plug-in toe aan de sectie
require
:code language-json "require": { "magento/composer-root-update-plugin": "^2.0.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" }, },
-
Sla het bestand op. Wijzig de vertakking nog niet en duw er nog niet op.
-
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:
-
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. -
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:
-
Gebruik SSH om u aan te melden bij de externe omgeving.
-
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:
-
Wijzig op uw lokale werkstation de projectmap.
-
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 hetcomposer.json
dossier voor de versie van het toepassingsmalplaatjevinden u voor de verbetering gebruikt. -
Werk het project bij.
code language-bash composer update
-
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 mapm2-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 sectieQUALITY_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
-
-
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. Zowelcomposer install
alscomposer update
marshal dossiers van het basispakket (magento/magento2-base
enmagento/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.
-
Wacht tot de implementatie is voltooid.
-
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:
-
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 deintegration
-vertakking:code language-bash ssh <project-id-integration>@ssh.us.magentosite.cloud "php vendor/bin/ece-tools config:dump"
-
Breng het
config.php
-bestand viarsync
ofscp
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
-
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.
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:
-
Maak een vertakking op uw lokale werkstation.
-
Schakel de extensies desgewenst uit.
-
Indien beschikbaar, downloadextensies voor upgrades.
-
Installeer de upgrade zoals wordt beschreven in de documentatie van derden.
-
Schakel de extensie in en test deze.
-
Voeg de wijzigingen aan de externe code toe, wijs deze aan en duw erop.
-
Zet uw integratieomgeving aan en test deze.
-
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.
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:
-
Wijzig op uw lokale werkstation de projectmap.
-
Gebruik SSH om u aan te melden bij de externe omgeving.
code language-bash magento-cloud ssh
-
Open het
./app/var/report/<error number>
-bestand. -
onderzoek de logboekenen bepaal de bron van de kwestie.
-
Wijzigingen in code toevoegen, vastleggen en doorvoeren.
code language-bash git add -A && git commit -m "Fixed deployment failure" && git push origin <branch-name>