[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

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 votre projet, consultez la section Configuration requise du guide Installation pour connaître la configuration requise pour la dernière version du logiciel.

Selon la configuration de votre projet, vos tâches de mise à niveau peuvent inclure les éléments suivants :

  • Mettez à jour le fichier .magento/services.yaml avec les nouvelles versions de MariaDB (MySQL), OpenSearch, RabbitMQ et Redis pour garantir la compatibilité avec les nouvelles versions d’Adobe Commerce.
  • Mettez à jour le fichier .magento.app.yaml avec de nouveaux paramètres pour les hooks et les variables d’environnement.
  • Mettez à niveau les extensions tierces vers la dernière version prise en charge.
TIP
Avant de commencer une mise à niveau ou un processus d’application de correctifs, créez une branche active à partir de l’environnement d’intégration et extrayez la nouvelle branche sur votre station de travail locale. Dédier une branche à la mise à niveau ou au processus de correctif permet d’éviter toute interférence avec votre travail en cours.
recommendation-more-help
  • Pour les projets Pro, vous devez envoyer un ticket d’assistance Adobe Commerce pour installer ou mettre à jour les services dans les environnements Staging et Production uniquement.

  • Indiquez les changements de service nécessaires, incluez vos fichiers .magento.app.yaml et services.yaml mis à jour, et indiquez la version PHP dans le ticket. Pour les modifications en libre-service de la version PHP, des extensions ou des paramètres d'environnement, voir paramètres PHP dans Configuration de l'application.

  • Pour apporter des modifications à un environnement de production en ligne (Pro uniquement), un préavis d’au moins 48 heures est requis. L’équipe en charge de l’infrastructure cloud dispose ainsi de suffisamment de temps pour rassembler les ressources et effectuer une mise à niveau sécurisée. La période de préavis commence lorsque l’équipe d’infrastructure accuse réception de la demande et planifie la mise à niveau, à l’exclusion des week-ends. Par exemple, pour que les mises à niveau de service soient terminées un lundi, un accusé de réception de la mise à niveau prévue doit être reçu avant le mercredi. Pendant les périodes de pointe, le traitement de votre demande peut prendre plus de temps.

Fichiers de configuration

Avant de mettre à niveau l’application, vous devez mettre à jour les fichiers de configuration de votre projet afin de tenir compte des modifications apportées aux paramètres de configuration par défaut d’Adobe Commerce sur l’infrastructure cloud ou 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 **

  1. Ajoutez les allow-plugins suivantes à la section config :

    code language-json
    "config": {
       "allow-plugins": {
          "dealerdirect/phpcodesniffer-composer-installer": true,
          "laminas/laminas-dependency-plugin": true,
          "magento/*": true
       }
    },
    
  2. Ajoutez le module externe suivant à la section require :

    code language-json
    "require": {
        "magento/composer-root-update-plugin": "^2.0.3"
    },
    
  3. Ajoutez le composant suivant à la section extra:component_paths :

    code language-json
    "extra": {
       "component_paths": {
          "tinymce/tinymce": "lib/web/tiny_mce_5"
       },
    },
    
  4. Enregistrez le fichier. Ne validez pas et n’envoyez pas encore de modifications à votre branche.

  5. Poursuivez le processus de mise à niveau.

Sauvegarde du projet

Nous vous recommandons de créer une sauvegarde de votre projet 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 :

  1. Créez une sauvegarde locale de la base distante.

    code language-bash
    magento-cloud db:dump
    
    note note
    NOTE
    La commande magento-cloud db:dump exécute la commande mysqldump avec l'indicateur --single-transaction, qui vous permet de sauvegarder votre base de données sans verrouiller les tables.
  2. 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 :

  1. Utilisez SSH pour vous connecter à l’environnement distant.

  2. 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-dump
    

    L’opération de vidage crée un fichier d’archive dump-<timestamp>.sql.gz dans 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 :

  1. Sur votre station de travail locale, accédez au répertoire du projet.

  2. 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-update
    
    note note
    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 fichier composer.json correspondant à la version du modèle d'application modèle d'application que vous utilisez pour la mise à niveau.
  3. Mettez à jour votre fichier composer.json avec la version de mise à niveau de Commerce principale.

    code language-bash
    composer require-commerce magento/product-enterprise-edition 2.4.8 --no-update
    
  4. Si vous utilisez le B2B, mettez à jour votre fichier composer.json avec la version prise en charge pour Commerce.

    code language-bash
    composer require-commerce magento/extension-b2b 1.5.2 --no-update
    
  5. Mettez à jour les dépendances de projet.

    code language-bash
    composer update
    
  6. 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épertoire m2-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 section QUALITY_PATCHES du 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

  7. Ajout, validation et modifications de code push.

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

    git add -A est 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 install et composer update marshalent les fichiers du package de base (magento/magento2-base et magento/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.

  8. Attendez la fin du déploiement.

  9. 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 :

  1. Créez une branche sur votre station de travail locale.

  2. Désactivez vos extensions selon vos besoins.

  3. Lorsqu’elles sont disponibles, téléchargez les mises à niveau d’extension.

  4. Installez la mise à niveau comme indiqué dans la documentation tierce.

  5. Activez et testez l’extension.

  6. Ajoutez, validez et envoyez les modifications de code à la télécommande.

  7. Envoyez et testez dans votre environnement d’intégration.

  8. Push vers l’environnement d’évaluation pour effectuer des tests dans un environnement de pré-production.

Adobe recommande vivement de mettre à niveau votre environnement de production avant y compris les extensions mises à niveau dans le processus de lancement de votre site.

NOTE
Lorsque vous mettez à niveau votre version de l’application, le processus de mise à niveau se met automatiquement à jour vers la dernière version du module Fastly CDN.

Résolution des problèmes de mise à niveau

Si la mise à niveau a échoué, 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 :

  1. Sur votre station de travail locale, accédez au répertoire du projet.

  2. Utilisez SSH pour vous connecter à l’environnement distant.

    code language-bash
    magento-cloud ssh
    
  3. Ouvrez le fichier ./app/var/report/<error number>.

  4. Examinez les journaux et déterminez la source du problème.

  5. Ajout, validation et modifications de code push.

    code language-bash
    git add -A && git commit -m "Fixed deployment failure" && git push origin <branch-name>
    
7c2b03ac-000c-497d-aba3-2c6dc720a938