Aggiorna versione Commerce
Puoi aggiornare la base di codice di Adobe Commerce a una versione più recente. Prima di aggiornare l’ambiente, controllare i requisiti di sistema nella Guida all’installazione per i requisiti della versione più recente del software.
A seconda del tipo di ambiente (Sviluppo, Staging o Produzione), le attività di aggiornamento possono includere quanto segue:
-
Aggiorna le estensioni di terze parti alla versione più recente supportata.
-
Aggiornare il file
.magento/services.yamlcon le versioni di servizio richieste per MariaDB (MySQL), OpenSearch, RabbitMQ e Redis o Valkey in modo che rimangano compatibili con la versione di Adobe Commerce di destinazione.- Per i rami di sviluppo/integrazione/PR, queste modifiche vengono utilizzate direttamente come parte della configurazione dell’ambiente.
- Per gli ambienti di staging e produzione Pro, il supporto Adobe Commerce esegue l’installazione o l’aggiornamento effettivo del servizio, ma è necessario mantenere
.magento/services.yamlcorrente, completo e valido, perché il suo contenuto viene convalidato durante la distribuzione.
-
Aggiornare il file
.magento.app.yamlcon le nuove impostazioni per hook e variabili di ambiente.
Supporto dei servizi Pro
Per richiedere e completare un aggiornamento del servizio Pro in Staging o Produzione, effettuare le seguenti operazioni:
-
Per installare o aggiornare servizi solo negli ambienti
StagingeProduction, invia un ticket di supporto Adobe Commerce.Nel ticket, specifica le modifiche del servizio richieste, includi i file aggiornati
.magento.app.yamle.magento/services.yamle annota la versione PHP di destinazione.La versione PHP, gli aggiornamenti del Compositore, le estensioni e le impostazioni di ambiente sono modifiche self-service. Adobe potrebbe dover aggiornare l’agente New Relic per garantire la compatibilità della versione PHP. Vedi Impostazioni PHP in Configurazione applicazione.
note important IMPORTANT Quando selezioni il campo Environment nel modulo del ticket, utilizza la denominazione dell'ambiente di Adobe. Ad esempio, seleziona Staging anche se chiami l'ambiente Dev internamente. È possibile indicare il proprio nome interno nella descrizione, ma il campo Environment deve utilizzare la nomenclatura di Adobe. -
Confermare la pianificazione dell’aggiornamento tramite il processo in due parti di Adobe: confermare prima la data e l’ora richieste, quindi inviarle al team dell’infrastruttura per la conferma finale.
I cambiamenti di produzione (solo Pro) richiedono un preavviso di almeno due giorni lavorativi, esclusi i fine settimana. Ad esempio, il team di Cloud Infrastructure deve riconoscere un aggiornamento del lunedì entro il mercoledì precedente. Prevedere un lead time aggiuntivo durante il picco della domanda. Per evitare ritardi, rispondi alla richiesta iniziale almeno 48 ore prima della finestra. L’aggiornamento non viene considerato pianificato fino a quando non ricevi una conferma finale.
note NOTE Fornisci finestre di manutenzione in UTC. Gli aggiornamenti di staging non vengono pianificati in anticipo e vengono in genere completati lo stesso giorno della richiesta. Dopo un aggiornamento di RabbitMQ, ridistribuire l’ambiente per reinizializzare le code dei messaggi. -
Convalidare l’aggiornamento in un ambiente di staging o integrazione prima di pianificarlo in produzione.
I problemi causati dai moduli di terze parti, dal codice personalizzato o dalla compatibilità delle dipendenze spesso emergono durante la ridistribuzione che segue un aggiornamento del servizio. Per convalidare più aggiornamenti di servizio uno alla volta, un ordine ragionevole è Valkey o Redis, quindi RabbitMQ, OpenSearch, quindi MariaDB. Questa non è una sequenza obbligatoria. Gli aggiornamenti del database hanno il massimo impatto operativo e meritano la massima cautela.
Adobe non garantisce in anticipo la durata esatta di una finestra di manutenzione di produzione, poiché la tempistica dipende dall’ambiente e dai servizi coinvolti. Utilizza il tempo impiegato dall’aggiornamento di staging come stima pratica durante la pianificazione della finestra Produzione.
-
Ridistribuisci l’ambiente dopo che Adobe ha completato l’aggiornamento del servizio in modo che la modifica abbia effetto, anche se la versione dell’applicazione Adobe Commerce non cambia.
Se l’aggiornamento include OpenSearch, pianificare anche una reindicizzazione completa. Adobe non può garantire tempi di inattività pari a zero per un aggiornamento del servizio, pertanto pianifica una finestra di manutenzione che consenta di ridistribuire il tempo, reindicizzare se necessario e convalidare la vetrina e l’amministratore prima di riaprire il sito.
Disponibilità del cliente durante gli aggiornamenti
Un rappresentante del team o del partner di implementazione deve essere disponibile online per la durata della finestra di aggiornamento produzione pianificata. La pianificazione durante un periodo di traffico ridotto non impedisce l’esecuzione dell’aggiornamento. Adobe gestisce l’aggiornamento dell’infrastruttura cloud, ma non può convalidare il comportamento dell’applicazione, le integrazioni, il codice personalizzato o i flussi di lavoro aziendali.
Il rappresentante disponibile deve poter:
- Monitora le transazioni di storefront e le transazioni aziendali critiche durante e dopo l’aggiornamento.
- Rispondi alle domande del supporto Adobe o del team di Cloud Infrastructure.
- Verificare che integrazioni, estensioni, personalizzazioni, processi cron, code e altre funzioni specifiche del cliente funzionino come previsto.
- Convalida flussi di lavoro business-critical, ad esempio estrazione, visualizzazioni catalogo, ricerca, accesso ed elaborazione degli ordini.
- Segnala comportamenti imprevisti immediatamente, mentre il contesto di aggiornamento e i registri sono ancora disponibili.
Modalità di manutenzione
La modalità di manutenzione non sostituisce la disponibilità del cliente. La modalità di manutenzione blocca l’accesso alla vetrina, ma non convalida i servizi dell’applicazione, le integrazioni, le code, i processi cron, il pagamento o altre funzioni specifiche del cliente.
Se il lavoro pianificato richiede la modalità di manutenzione, coordinane l’utilizzo con il supporto Adobe e segui le istruzioni per l’aggiornamento. In seguito, verifica che la vetrina e i flussi di lavoro critici funzionino normalmente prima di considerare il lavoro completato.
File di configurazione
Per tenere conto delle modifiche apportate alle impostazioni di configurazione predefinite di Adobe Commerce sull’infrastruttura cloud o sull’applicazione, aggiorna i file di configurazione del progetto prima di aggiornare l’applicazione. Le impostazioni predefinite più recenti si trovano nell’archivio GitHub magento-cloud.
compositore.json
Prima di eseguire l’aggiornamento, verificare sempre che le dipendenze nel file composer.json siano compatibili con la versione di Adobe Commerce.
Per aggiornare il file composer.json per Adobe Commerce versione 2.4.4 e successive**:
-
Aggiungi
allow-pluginsalla sezioneconfig:code language-json "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, "laminas/laminas-dependency-plugin": true, "magento/*": true } }, -
Aggiungi il seguente plug-in alla sezione
require:code language-json "require": { "magento/composer-root-update-plugin": "^2.0.3" }, -
Aggiungi il seguente componente alla sezione
extra:component_paths:code language-json "extra": { "component_paths": { "tinymce/tinymce": "lib/web/tiny_mce_5" }, }, -
Salva il file. Non eseguire ancora il commit o il push delle modifiche nel ramo.
-
Continuare con il processo di aggiornamento.
Backup dell’ambiente
Adobe consiglia di creare un backup dell’istanza prima di un aggiornamento. Utilizza i seguenti passaggi per eseguire il backup degli ambienti di integrazione, staging e produzione.
Per eseguire il backup del database e del codice dell’ambiente di integrazione:
-
Creare un backup locale del database remoto.
code language-bash magento-cloud db:dumpnote NOTE Il comando magento-cloud db:dumpesegue il comando mysqldump con il flag--single-transaction, che consente di eseguire il backup del database senza bloccare le tabelle. -
Eseguire il backup del codice e dei supporti.
code language-bash php bin/magento setup:backup --code [--media]Se si desidera, è possibile omettere
[--media]se il numero di file statici che si trovano già nel controllo del codice sorgente è elevato.
Per eseguire il backup del database dell’ambiente di staging o di produzione prima della distribuzione:
-
Utilizza SSH per accedere all’ambiente remoto.
-
Crea un dump del database 🔗. Per scegliere una directory di destinazione per il dump del database, utilizzare l’opzione
--dump-directory.code language-bash vendor/bin/ece-tools db-dumpL’operazione di dump crea un file di archivio
dump-<timestamp>.sql.gznella directory di progetto remota. Vedere Backup del database.
Aggiornamento dell’applicazione
Prima di aggiornare l’applicazione, esaminare le informazioni sulle versioni del servizio per conoscere i requisiti delle versioni più recenti del software.
Per aggiornare la versione dell’applicazione:
-
Sulla workstation locale, passa alla directory del progetto.
-
Impostare il vincolo di versione 🔗 per la versione di aggiornamento di destinazione. Questo passaggio è necessario solo se la versione di destinazione non rientra nel vincolo esistente.
code language-bash composer require-commerce "magento/magento-cloud-metapackage":">=CURRENT_VERSION <NEXT_VERSION" --no-updatenote NOTE Per aggiornare correttamente il pacchetto ece-tools, è necessario utilizzare la sintassi del vincolo di versione. È possibile trovare il vincolo di versione nel filecomposer.jsonper la versione del modello di applicazione utilizzato per l'aggiornamento. -
Aggiorna il file
composer.jsoncon la versione di aggiornamento di base di Commerce.code language-bash composer require-commerce magento/product-enterprise-edition 2.4.8 --no-update -
Se utilizzi B2B, aggiorna il file
composer.jsoncon la versione supportata per Commerce.code language-bash composer require-commerce magento/extension-b2b 1.5.2 --no-update -
Aggiornare le dipendenze del progetto.
code language-bash composer update -
Esaminare le patch attualmente applicate:
-
Se nella directory
m2-hotfixessono installate patch, invia un ticket di supporto Adobe Commerce e collabora con il supporto Adobe Commerce per verificare quali patch possono ancora essere applicate alla nuova versione. Rimuovere le patch non applicabili dalla directorym2-hotfixes. -
Se nel file
.magento.env.yamlsono state applicate [patch di qualità], verificare se è ancora possibile applicarle alla nuova versione. Rimuovere le patch non applicabili dalla sezioneQUALITY_PATCHESdel file.magento.env.yaml.
Metodo 1: Verificare le versioni applicabili nelle note sulla versione delle patch di qualità
Metodo 2: Visualizzare le patch e lo stato disponibili
Metodo 3: Cerca patch
-
-
Aggiungi, conferma e invia modifiche al codice.
code language-bash git add -Acode language-bash git commit -m "Upgrade"code language-bash git push origin <branch-name>git add -Aè necessario per aggiungere tutti i file modificati al controllo del codice sorgente a causa del modo in cui i pacchetti di base di Marshals Composer vengono eseguiti. Entrambi i file di marshallingcomposer installecomposer updatedal pacchetto di base (magento/magento2-baseemagento/magento2-ee-base) nella radice del pacchetto.I file che Composer marshalling appartengono alla nuova versione di Adobe Commerce, per sovrascrivere la versione obsoleta degli stessi file. Attualmente, il marshalling è disabilitato in Adobe Commerce, pertanto è necessario aggiungere i file marshallati al controllo del codice sorgente.
-
Per completare l’aggiornamento, attendi la distribuzione.
-
Verifica l’aggiornamento nell’ambiente di integrazione, staging o produzione utilizzando SSH per accedere e controllare la versione.
code language-bash php bin/magento --version
Aggiornare le estensioni
Controlla le pagine delle estensioni e dei moduli di terze parti nel Marketplace o in altri siti aziendali e verifica il supporto per Adobe Commerce e Adobe Commerce sull’infrastruttura cloud. Se devi aggiornare estensioni e moduli di terze parti, Adobe consiglia di lavorare in un nuovo ramo di integrazione con le estensioni disabilitate.
Per verificare e aggiornare le estensioni:
-
Crea una filiale sulla workstation locale.
-
Disattiva le estensioni in base alle esigenze.
-
Se disponibile, scarica gli aggiornamenti dell’estensione.
-
Installa l’aggiornamento come descritto nella documentazione di terze parti.
-
Abilita e verifica l’estensione.
-
Aggiungi, esegui il commit e invia le modifiche al codice in remoto.
-
Effettua il push e il test nell’ambiente di integrazione.
-
Per eseguire il test in un ambiente di pre-produzione, invia all’ambiente di staging.
Adobe consiglia di aggiornare l’ambiente di produzione prima, incluse le estensioni aggiornate nel processo di avvio del sito.
Risoluzione dei problemi di aggiornamento
Se l’aggiornamento non riesce, viene visualizzato un messaggio di errore nel browser che indica che non è possibile accedere alla vetrina o al pannello di amministrazione:
There has been an error processing your request
Exception printing is disabled by default for security reasons.
Error log record number: <error-number>
Per risolvere l’errore:
-
Sulla workstation locale, passa alla directory del progetto.
-
Utilizza SSH per accedere all’ambiente remoto.
code language-bash magento-cloud ssh -
Aprire il file
./app/var/report/<error number>. -
Esaminare i registri e determinare l’origine del problema.
-
Aggiungi, conferma e invia modifiche al codice.
code language-bash git add -A && git commit -m "Fixed deployment failure" && git push origin <branch-name>