Mettre à niveau la version de Commerce
Vous pouvez mettre à niveau la base de code Adobe Commerce vers une version plus récente. Avant de mettre à niveau l’environnement, consultez la section Configuration requise dans le guide Installation pour connaître la configuration requise pour la dernière version du logiciel.
Selon le type d’environnement (Développement, Évaluation ou Production), vos tâches de mise à niveau peuvent inclure les éléments suivants :
-
Mettez à niveau les extensions tierces vers la dernière version prise en charge.
-
Mettez à jour le fichier
.magento/services.yamlavec les versions de service requises pour MariaDB (MySQL), OpenSearch, RabbitMQ et Redis ou Valkey afin qu’elles restent compatibles avec la version Adobe Commerce cible.- Pour les branches de développement/intégration/RP, ces modifications sont directement utilisées dans le cadre de la configuration de l’environnement.
- Pour les environnements d’évaluation et de production Pro, l’assistance Adobe Commerce effectue l’installation ou la mise à jour proprement dite du service, mais vous devez conserver
.magento/services.yamlà jour, son intégralité et sa validité, car son contenu est validé lors du déploiement.
-
Mettez à jour le fichier
.magento.app.yamlavec de nouveaux paramètres pour les hooks et les variables d’environnement.
Assistance des services professionnels
Pour demander et effectuer une mise à niveau du service Pro dans les environnements d’évaluation ou de production, procédez comme suit :
-
Pour installer ou mettre à jour les services dans les environnements
StagingetProductionuniquement, envoyez un ticket d’assistance Adobe Commerce.Dans le ticket, spécifiez les changements de service requis, incluez les fichiers
.magento.app.yamlet.magento/services.yamlmis à jour et notez la version PHP cible.La version PHP, les mises à jour du compositeur, les extensions et les paramètres d’environnement sont des changements en libre-service. Adobe peut avoir besoin de mettre à jour l’agent New Relic pour assurer la compatibilité des versions PHP. Voir Paramètres PHP dans Configuration des applications.
note important IMPORTANT Lors de la sélection du champ Environment dans le formulaire de ticket, utilisez la dénomination de l’environnement Adobe. Par exemple, sélectionnez Évaluation même si vous appelez cet environnement Dev en interne. Vous pouvez mentionner votre nom interne dans la description, mais le champ Environment doit utiliser la nomenclature Adobe. -
Confirmez le planning de mise à niveau via le processus en deux parties d’Adobe : vous confirmez d’abord la date et l’heure demandées, puis l’assistance les soumet à l’équipe d’infrastructure pour confirmation finale.
Les changements de production (Pro uniquement) nécessitent un préavis d’au moins deux jours ouvrables, à l’exclusion des week-ends. Par exemple, l’équipe d’infrastructure cloud doit confirmer une mise à niveau du lundi avant le mercredi précédent. Attendez-vous à un délai d’avance supplémentaire pendant les pics de demande. Pour éviter les retards, répondez à la demande initiale au moins 48 heures avant la fenêtre. La mise à niveau n’est pas considérée comme planifiée tant que vous n’avez pas reçu la confirmation finale.
note NOTE Fournissez des fenêtres de maintenance en UTC. Les mises à niveau intermédiaires ne sont pas planifiées à l’avance et sont généralement terminées le même jour que la demande. Après une mise à niveau de RabbitMQ, redéployez l’environnement pour réinitialiser les files d’attente de messages. -
Validez la mise à niveau dans un environnement d’évaluation ou d’intégration avant de la planifier en production.
Les problèmes causés par des modules tiers, du code personnalisé ou la compatibilité des dépendances apparaissent souvent lors du redéploiement qui suit une mise à niveau du service. Pour valider plusieurs mises à niveau de service une par une, un ordre raisonnable est Valkey ou Redis, puis RabbitMQ, puis OpenSearch, puis MariaDB. Cette séquence n’est pas obligatoire. Les mises à niveau de bases de données ont l’impact opérationnel le plus important et méritent la plus grande prudence.
Adobe ne garantit pas à l’avance la durée exacte d’une fenêtre de maintenance de production, car le timing dépend de l’environnement et des services impliqués. Utilisez le temps nécessaire à la mise à niveau intermédiaire comme une estimation pratique lors de la planification de la fenêtre Production.
-
Redéployez l’environnement une fois que Adobe a terminé la mise à niveau du service afin que la modification prenne effet, même si la version de l’application Adobe Commerce ne change pas.
Si la mise à niveau inclut OpenSearch, prévoyez également une réindexation complète. Adobe ne peut pas garantir un temps d’arrêt nul pour une mise à niveau du service. Planifiez donc une fenêtre de maintenance qui laisse le temps de redéployer, de réindexer si nécessaire et de valider le storefront et l’administrateur avant de rouvrir le site.
Disponibilité du client pendant les mises à niveau
Un représentant de votre équipe ou de votre partenaire d’implémentation doit être disponible en ligne pendant toute la durée de la période de mise à niveau de production planifiée. La planification pendant une période de faible trafic ne désactive pas la mise à niveau. Adobe gère la mise à niveau de l’infrastructure cloud, mais ne peut pas valider le comportement de votre application, vos intégrations, votre code personnalisé ou vos workflows métier.
Le représentant disponible doit pouvoir :
- Surveillez le storefront et les transactions commerciales critiques pendant et après la mise à niveau.
- Répondez aux questions de l’assistance Adobe ou de l’équipe chargée de l’infrastructure cloud.
- Confirmez que les intégrations, les extensions, les personnalisations, les tâches cron, les files d’attente et d’autres fonctions spécifiques au client fonctionnent comme prévu.
- Validez les workflows critiques pour l’entreprise, tels que l’extraction, les vues de catalogue, la recherche, la connexion et le traitement des commandes.
- Signaler un comportement inattendu se produit rapidement, alors que le contexte et les journaux de mise à niveau sont toujours disponibles.
Mode de maintenance
Le mode de maintenance ne remplace pas la disponibilité des clients. Le mode de maintenance bloque l’accès au storefront, mais ne valide pas les services d’application, les intégrations, les files d’attente, les tâches cron, le passage en caisse ou d’autres fonctions spécifiques au client.
Si le travail prévu nécessite le mode de maintenance, coordonnez son utilisation avec l’assistance Adobe et suivez les instructions de cette mise à niveau. Ensuite, vérifiez que le storefront et les workflows critiques fonctionnent normalement avant de considérer le travail comme terminé.
Fichiers de configuration
Pour tenir compte des modifications apportées aux paramètres de configuration par défaut d’Adobe Commerce sur l’infrastructure cloud ou l’application, mettez à jour les fichiers de configuration de votre projet avant de mettre à niveau l’application. Les dernières valeurs par défaut se trouvent dans le référentiel GitHub magento-cloud.
composer.json
Avant la mise à niveau, vérifiez toujours que les dépendances du fichier composer.json sont compatibles avec la version Adobe Commerce.
Pour mettre à jour le fichier composer.json pour Adobe Commerce version 2.4.4 et ultérieure **
-
Ajoutez les
allow-pluginssuivantes à la sectionconfig:code language-json "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, "laminas/laminas-dependency-plugin": true, "magento/*": true } }, -
Ajoutez le module externe suivant à la section
require:code language-json "require": { "magento/composer-root-update-plugin": "^2.0.3" }, -
Ajoutez le composant suivant à la section
extra:component_paths:code language-json "extra": { "component_paths": { "tinymce/tinymce": "lib/web/tiny_mce_5" }, }, -
Enregistrez le fichier. Ne validez pas et n’envoyez pas encore de modifications à votre branche.
-
Poursuivez le processus de mise à niveau.
Sauvegarde de l’environnement
Adobe recommande de créer une sauvegarde de l’instance avant une mise à niveau. Suivez les étapes ci-après pour sauvegarder vos environnements d’intégration, d’évaluation et de production.
Pour sauvegarder la base de données et le code de votre environnement d’intégration :
-
Créez une sauvegarde locale de la base distante.
code language-bash magento-cloud db:dumpnote NOTE La commande magento-cloud db:dumpexécute la commande mysqldump avec l'indicateur--single-transaction, qui vous permet de sauvegarder votre base de données sans verrouiller les tables. -
Sauvegardez le code et le média.
code language-bash php bin/magento setup:backup --code [--media]Vous pouvez éventuellement omettre
[--media]si vous disposez d’un grand nombre de fichiers statiques qui se trouvent déjà dans le contrôle de code source.
Pour sauvegarder la base de données de votre environnement d’évaluation ou de production avant le déploiement :
-
Utilisez SSH pour vous connecter à l’environnement distant.
-
Créez une image mémoire de la base de données. Pour choisir un répertoire cible pour l’image mémoire de la base de données, utilisez l’option
--dump-directory.code language-bash vendor/bin/ece-tools db-dumpL’opération de vidage crée un fichier d’archive
dump-<timestamp>.sql.gzdans votre répertoire de projet distant. Voir Sauvegarde de la base de données.
Mise à niveau de l’application
Consultez les informations versions de service pour connaître les dernières exigences en matière de version logicielle avant de mettre à niveau votre application.
Pour mettre à niveau la version de l’application :
-
Sur votre station de travail locale, accédez au répertoire du projet.
-
Définissez la contrainte de version pour la version de mise à niveau cible. Cette étape n’est nécessaire que si la version cible se trouve en dehors de la contrainte existante.
code language-bash composer require-commerce "magento/magento-cloud-metapackage":">=CURRENT_VERSION <NEXT_VERSION" --no-updatenote NOTE Vous devez utiliser la syntaxe de contrainte de version pour mettre à jour le package ece-tools. La contrainte de version se trouve dans le fichiercomposer.jsoncorrespondant à la version du modèle d'application modèle d'application que vous utilisez pour la mise à niveau. -
Mettez à jour votre fichier
composer.jsonavec la version de mise à niveau de Commerce principale.code language-bash composer require-commerce magento/product-enterprise-edition 2.4.8 --no-update -
Si vous utilisez le B2B, mettez à jour votre fichier
composer.jsonavec la version prise en charge pour Commerce.code language-bash composer require-commerce magento/extension-b2b 1.5.2 --no-update -
Mettez à jour les dépendances de projet.
code language-bash composer update -
Examinez les correctifs actuellement appliqués :
-
Si des correctifs sont installés dans le répertoire
m2-hotfixes, envoyez un ticket d’assistance Adobe Commerce et contactez l’assistance Adobe Commerce pour vérifier quels correctifs peuvent toujours être appliqués à la nouvelle version. Supprimez le ou les correctifs non applicables du répertoirem2-hotfixes. -
Si des [correctifs de qualité] sont appliqués dans le fichier
.magento.env.yaml, vérifiez s’ils peuvent toujours être appliqués à la nouvelle version. Supprimez le ou les correctifs non applicables de la sectionQUALITY_PATCHESdu fichier.magento.env.yaml.
Méthode 1 : vérifiez les versions applicables dans les notes de mise à jour des correctifs de qualité
Méthode 2 : affichage des correctifs et de l’état disponibles
Méthode 3 : Rechercher des correctifs
-
-
Ajout, validation et modifications de code push.
code language-bash git add -Acode language-bash git commit -m "Upgrade"code language-bash git push origin <branch-name>git add -Aest nécessaire pour ajouter tous les fichiers modifiés au contrôle de code source en raison de la manière dont le compositeur marshale les packages de base.composer installetcomposer updatemarshalent les fichiers du package de base (magento/magento2-baseetmagento/magento2-ee-base) dans la racine du package.Les fichiers que le compositeur marshale appartiennent à la nouvelle version d’Adobe Commerce, afin de remplacer la version obsolète de ces mêmes fichiers. Actuellement, le marshalling est désactivé dans Adobe Commerce, vous devez donc ajouter les fichiers marshalés au contrôle de code source.
-
Pour terminer la mise à niveau, attendez le déploiement.
-
Vérifiez la mise à niveau dans votre environnement d’intégration, d’évaluation ou de production à l’aide de SSH pour vous connecter et vérifier la version.
code language-bash php bin/magento --version
Mettre à niveau les extensions
Passez en revue vos pages d’extension et de module tiers sur Marketplace ou d’autres sites d’entreprise et vérifiez la prise en charge d’Adobe Commerce et d’Adobe Commerce sur l’infrastructure cloud. Si vous devez mettre à niveau des extensions et modules tiers, Adobe recommande de travailler dans une nouvelle branche d’intégration avec vos extensions désactivées.
Pour vérifier et mettre à niveau vos extensions :
-
Créez une branche sur votre station de travail locale.
-
Désactivez vos extensions selon vos besoins.
-
Lorsqu’elles sont disponibles, téléchargez les mises à niveau d’extension.
-
Installez la mise à niveau comme indiqué dans la documentation tierce.
-
Activez et testez l’extension.
-
Ajoutez, validez et envoyez les modifications de code à la télécommande.
-
Envoyez et testez dans votre environnement d’intégration.
-
Pour effectuer des tests dans un environnement de pré-production, effectuez des transferts vers l’environnement d’évaluation.
Adobe recommande de mettre à niveau votre environnement de production avant y compris les extensions mises à niveau dans le processus de lancement de votre site.
Résolution des problèmes de mise à niveau
Si la mise à niveau échoue, vous recevez un message d’erreur dans le navigateur indiquant que vous ne pouvez pas accéder à votre storefront ou au panneau d’administration :
There has been an error processing your request
Exception printing is disabled by default for security reasons.
Error log record number: <error-number>
Pour résoudre l’erreur :
-
Sur votre station de travail locale, accédez au répertoire du projet.
-
Utilisez SSH pour vous connecter à l’environnement distant.
code language-bash magento-cloud ssh -
Ouvrez le fichier
./app/var/report/<error number>. -
Examinez les journaux et déterminez la source du problème.
-
Ajout, validation et modifications de code push.
code language-bash git add -A && git commit -m "Fixed deployment failure" && git push origin <branch-name>