[Solo PaaS]{class="badge informative" title="Se aplica solo a proyectos de Adobe Commerce en la nube (infraestructura PaaS administrada por Adobe) y a proyectos locales."}

Actualizar la versión de Commerce

Puede actualizar el código base de Adobe Commerce a una versión más reciente. Antes de actualizar el proyecto, revise los requisitos del sistema en la guía de Instalación para conocer los requisitos de la versión de software más reciente.

Según la configuración del proyecto, las tareas de actualización pueden incluir las siguientes:

  • Actualice el archivo .magento/services.yaml con nuevas versiones para MariaDB (MySQL), OpenSearch, RabbitMQ y Redis para comprobar la compatibilidad con las nuevas versiones de Adobe Commerce.
  • Actualice el archivo .magento.app.yaml con la nueva configuración para los vínculos y las variables de entorno.
  • Actualice las extensiones de terceros a la última versión compatible.
TIP
Antes de comenzar una actualización o un proceso de aplicación de parches, cree una rama activa desde el entorno de integración y extraiga la nueva rama a su estación de trabajo local. La dedicación de una rama al proceso de actualización o de revisión ayuda a evitar interferencias con el trabajo en curso.
recommendation-more-help
  • Para los proyectos Pro, debe enviar un ticket de soporte de Adobe Commerce para instalar o actualizar servicios solo en Staging y Production entornos.

  • Indique los cambios de servicio necesarios, incluya los .magento.app.yaml y services.yaml archivos actualizados y especifique la versión de PHP en el ticket. Para ver los cambios de autoservicio en la versión, las extensiones o la configuración del entorno de PHP, consulte Configuración de PHP en Configuración de la aplicación.

  • Para los cambios en un entorno de producción activo (Solo Pro), se requiere un aviso con un mínimo de 48 horas. Esto permite al equipo de infraestructura en la nube disponer de tiempo suficiente para recopilar recursos y realizar una actualización segura. El periodo de aviso comienza cuando el equipo de infraestructura reconoce la solicitud y programa la actualización, excepto los fines de semana. Por ejemplo, para que las actualizaciones del servicio se completen un lunes, se debe recibir un acuse de recibo de la actualización programada antes del miércoles. Durante los períodos de mayor demanda, puede tardar más tiempo en procesar la solicitud.

Archivos de configuración

Antes de actualizar la aplicación, debe actualizar los archivos de configuración del proyecto para tener en cuenta los cambios en los valores de configuración predeterminados de Adobe Commerce en la infraestructura en la nube o en la aplicación. Los valores predeterminados más recientes se encuentran en el repositorio de GitHub de Magento en la nube.

composer.json

Antes de actualizar, compruebe siempre que las dependencias del archivo composer.json sean compatibles con la versión de Adobe Commerce.

Para actualizar el archivo composer.json para Adobe Commerce versión 2.4.4 y posterior**:

  1. Agregar los(as) siguientes allow-plugins a la sección config:

    code language-json
    "config": {
       "allow-plugins": {
          "dealerdirect/phpcodesniffer-composer-installer": true,
          "laminas/laminas-dependency-plugin": true,
          "magento/*": true
       }
    },
    
  2. Agregue el siguiente complemento a la sección require:

    code language-json
    "require": {
        "magento/composer-root-update-plugin": "^2.0.3"
    },
    
  3. Agregue el siguiente componente a la sección extra:component_paths:

    code language-json
    "extra": {
       "component_paths": {
          "tinymce/tinymce": "lib/web/tiny_mce_5"
       },
    },
    
  4. Guarde el archivo. Aún no confirme ni inserte cambios en la rama.

  5. Continúe con el proceso de actualización.

Copia de seguridad del proyecto

Se recomienda crear una copia de seguridad del proyecto antes de una actualización. Siga estos pasos para realizar una copia de seguridad de los entornos de integración, ensayo y producción.

Para hacer una copia de seguridad de la base de datos y el código del entorno de integración:

  1. Cree una copia de seguridad local de la base de datos remota.

    code language-bash
    magento-cloud db:dump
    
    note note
    NOTE
    El comando magento-cloud db:dump ejecuta el comando mysqldump con el indicador --single-transaction, lo que le permite hacer una copia de seguridad de la base de datos sin bloquear las tablas.
  2. Haga una copia de seguridad del código y los medios.

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

    Opcionalmente, puede omitir [--media] si tiene un gran número de archivos estáticos que ya están en el control de código fuente.

Para hacer una copia de seguridad de la base de datos del entorno de ensayo o producción antes de implementar:

  1. Utilice SSH para iniciar sesión en el entorno remoto.

  2. Crear un volcado de base de datos. Para elegir un directorio de destino para el volcado de la base de datos, utilice la opción --dump-directory.

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

    La operación de volcado crea un archivo de dump-<timestamp>.sql.gz en el directorio del proyecto remoto. Consulte Copia de seguridad de la base de datos.

Actualización de aplicación

Revise la información de versiones de servicio para conocer los requisitos de la versión de software más reciente antes de actualizar la aplicación.

Para actualizar la versión de la aplicación:

  1. En la estación de trabajo local, cambie al directorio del proyecto.

  2. Establezca la restricción de versión para la versión de actualización de destino. Este paso solo es necesario si la versión de destino está fuera de la restricción existente.

    code language-bash
    composer require-commerce "magento/magento-cloud-metapackage":">=CURRENT_VERSION <NEXT_VERSION" --no-update
    
    note note
    NOTE
    Debe usar la sintaxis de restricción de versión para actualizar correctamente el paquete ece-tools. Puede encontrar la restricción de versión en el archivo composer.json para la versión de la plantilla de aplicación que está utilizando para la actualización.
  3. Actualice el archivo composer.json con la versión de actualización principal de Commerce.

    code language-bash
    composer require-commerce magento/product-enterprise-edition 2.4.8 --no-update
    
  4. Si utiliza B2B, actualice el archivo composer.json con la versión compatible para Commerce.

    code language-bash
    composer require-commerce magento/extension-b2b 1.5.2 --no-update
    
  5. Actualizar dependencias del proyecto.

    code language-bash
    composer update
    
  6. Revise los parches que se aplican actualmente:

    • Si hay parches instalados en el directorio m2-hotfixes, envíe un ticket de soporte de Adobe Commerce y trabaje con el soporte técnico de Adobe Commerce para comprobar qué parches se pueden seguir aplicando a la nueva versión. Quite los parches no aplicables del directorio m2-hotfixes.

    • Si hay [Parches de calidad] aplicados en el archivo .magento.env.yaml, compruebe si aún se pueden aplicar a la nueva versión. Quite los parches no aplicables de la sección QUALITY_PATCHES del archivo .magento.env.yaml.

    Método 1: Compruebe las versiones aplicables en las notas de la versión de parches de calidad

    Método 2: Ver parches y estado disponibles

    Método 3: Buscar parches

  7. Agregar, confirmar y enviar cambios de código.

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

    git add -A es necesario para agregar todos los archivos modificados al control de código fuente debido a la forma en que Composer calcula los paquetes base. Tanto composer install como composer update calculan las referencias de los archivos del paquete base (magento/magento2-base y magento/magento2-ee-base) en la raíz del paquete.

    Los archivos a los que Composer calcula las referencias pertenecen a la nueva versión de Adobe Commerce, para sobrescribir la versión obsoleta de esos mismos archivos. En la actualidad, el cálculo de referencias está deshabilitado en Adobe Commerce, por lo que debe agregar los archivos para calcular referencias al control de código fuente.

  8. Espere a que se complete la implementación.

  9. Compruebe la actualización en el entorno de integración, ensayo o producción utilizando SSH para iniciar sesión y comprobar la versión.

    code language-bash
    php bin/magento --version
    

Actualización de extensiones

Revise las páginas de módulos y extensiones de terceros en Marketplace u otros sitios de la empresa y compruebe la compatibilidad con Adobe Commerce y Adobe Commerce en la infraestructura en la nube. Si debe actualizar cualquier extensión y módulo de terceros, Adobe recomienda trabajar en una nueva rama de integración con las extensiones deshabilitadas.

Para verificar y actualizar sus extensiones:

  1. Cree una rama en la estación de trabajo local.

  2. Deshabilite las extensiones según sea necesario.

  3. Cuando esté disponible, descargue las actualizaciones de extensión.

  4. Instale la actualización según lo documentado por la documentación de terceros.

  5. Habilite y pruebe la extensión de.

  6. Agregue, confirme e inserte los cambios de código en el control remoto.

  7. Envíe a y pruebe en su entorno de integración.

  8. Insertar en el entorno de ensayo para realizar pruebas en un entorno de preproducción.

Adobe recomienda encarecidamente actualizar el entorno de producción antes de, incluidas las extensiones actualizadas en el proceso de lanzamiento del sitio.

NOTE
Al actualizar la versión de la aplicación, el proceso de actualización se actualiza automáticamente a la última versión del módulo CDN de Fastly.

Solución de problemas de actualización

Si la actualización falla, recibe un mensaje de error en el explorador que indica que no puede acceder a la tienda o al panel Administración:

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

Para resolver el error:

  1. En la estación de trabajo local, cambie al directorio del proyecto.

  2. Utilice SSH para iniciar sesión en el entorno remoto.

    code language-bash
    magento-cloud ssh
    
  3. Abra el archivo ./app/var/report/<error number>.

  4. Examine los registros y determine el origen del problema.

  5. Agregar, confirmar y enviar cambios de código.

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