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 entorno, revise los requisitos del sistema en la guía de Instalación para conocer los requisitos de la última versión de software.
Según el tipo de entorno (desarrollo, ensayo o producción), las tareas de actualización pueden incluir las siguientes:
-
Actualice las extensiones de terceros a la última versión compatible.
-
Actualice el archivo
.magento/services.yamlcon las versiones de servicio necesarias para MariaDB (MySQL), OpenSearch, RabbitMQ y Redis o Valkey para que sigan siendo compatibles con la versión de Adobe Commerce de destino.- Para las ramas de desarrollo/integración/PR, estos cambios se utilizan directamente como parte de la configuración del entorno.
- Para los entornos de ensayo y producción de Pro, el soporte de Adobe Commerce realiza la instalación o actualización del servicio real, pero debe mantener
.magento/services.yamlactualizado, completo y válido, ya que su contenido se valida durante la implementación.
-
Actualice el archivo
.magento.app.yamlcon la nueva configuración para los vínculos y las variables de entorno.
Asistencia de servicios Pro
Para solicitar y completar una actualización del servicio Pro en Ensayo o Producción, siga estos pasos:
-
Para instalar o actualizar servicios solo en
StagingyProductionentornos, envía un ticket de soporte de Adobe Commerce.En el ticket, especifique los cambios de servicio requeridos, incluya los archivos
.magento.app.yamly.magento/services.yamlactualizados y anote la versión de PHP de destino.La versión de PHP, las actualizaciones de Compositor, las extensiones y la configuración del entorno son cambios de autoservicio. Es posible que Adobe tenga que actualizar el agente de New Relic para comprobar la compatibilidad con la versión de PHP. Ver configuración de PHP en Configuración de la aplicación.
note important IMPORTANT Al seleccionar el campo Environment en el formulario de solicitud, utilice el nombre de entorno de Adobe. Por ejemplo, seleccione Ensayo aunque llame internamente a ese entorno Dev. Puede mencionar su nombre interno en la descripción, pero el campo Environment debe utilizar la nomenclatura de Adobe. -
Confirme la programación de actualización a través del proceso en dos partes de Adobe: primero confirme la fecha y la hora solicitadas y después el equipo de asistencia la envía al equipo de infraestructura para que la confirme definitivamente.
Los cambios de producción (solo Pro) requieren al menos dos días hábiles de antelación, excepto los fines de semana. Por ejemplo, el equipo de Infraestructura en la nube debe confirmar una actualización el lunes antes del miércoles anterior. Se espera un tiempo de espera adicional durante la demanda máxima. Para evitar demoras, responda a la solicitud inicial al menos 48 horas antes de la ventana. La actualización no se considera programada hasta que reciba la confirmación final.
note NOTE Proporcionar ventanas de mantenimiento en UTC. Las actualizaciones de ensayo no se programan con antelación y suelen completarse el mismo día que la solicitud. Después de una actualización de RabbitMQ, vuelva a implementar el entorno para reiniciar las colas de mensajes. -
Valide la actualización en un entorno de ensayo o integración antes de programarla en producción.
Los problemas causados por módulos de terceros, código personalizado o compatibilidad de dependencias a menudo aparecen durante la reimplementación que sigue a una actualización de servicio. Para validar varias actualizaciones de servicio de una en una, un pedido razonable es Valkey o Redis, luego RabbitMQ, luego OpenSearch y luego MariaDB. Esta secuencia no es obligatoria. Las actualizaciones de bases de datos tienen el mayor impacto operativo y merecen la mayor precaución.
Adobe no garantiza la duración exacta de una ventana de mantenimiento de producción con antelación, ya que el tiempo depende del entorno y los servicios implicados. Utilice el tiempo que tarda la actualización de ensayo como estimación práctica al planificar la ventana Producción.
-
Vuelva a implementar el entorno después de que Adobe complete la actualización del servicio para que el cambio surta efecto, incluso si la versión de la aplicación de Adobe Commerce no cambia.
Si la actualización incluye OpenSearch, planifique también una reindexación completa. Adobe no puede garantizar que no haya tiempo de inactividad durante una actualización de servicio, por lo que debe planificar una ventana de mantenimiento que permita volver a implementar, reindexar si es necesario y validar la tienda y el administrador antes de volver a abrir el sitio.
Disponibilidad del cliente durante las actualizaciones
Un representante de su equipo o asociado de implementación debe estar disponible en línea durante la ventana de actualización de producción programada. La programación durante un período de poco tráfico no impide la actualización. Adobe administra la actualización de la infraestructura en la nube, pero no puede validar el comportamiento de la aplicación, las integraciones, el código personalizado o los flujos de trabajo empresariales.
El representante disponible deberá poder:
- Supervisar la tienda y las transacciones comerciales críticas durante y después de la actualización.
- Responda a preguntas del equipo de soporte técnico de Adobe o del equipo de infraestructura de nube.
- Confirme que las integraciones, extensiones, personalizaciones, trabajos cron, colas y otras funciones específicas del cliente funcionan según lo esperado.
- Validar flujos de trabajo críticos para la empresa, como cierre de compra, vistas de catálogo, búsqueda, inicio de sesión y procesamiento de pedidos.
- Informar de un comportamiento inesperado rápidamente, mientras el contexto de actualización y los registros siguen disponibles.
Modo de mantenimiento
El modo de mantenimiento no reemplaza la disponibilidad del cliente. El modo de mantenimiento bloquea el acceso a la tienda, pero no valida los servicios de aplicaciones, las integraciones, las colas, los trabajos cron, el cierre de compra u otras funciones específicas del cliente.
Si el trabajo planificado requiere un modo de mantenimiento, coordine su uso con el Soporte de Adobe y siga las instrucciones para esa actualización. Después, confirme que la tienda y los flujos de trabajo críticos funcionan normalmente antes de considerar que el trabajo se ha completado.
Archivos de configuración
Para tener en cuenta los cambios realizados en las opciones de configuración predeterminadas de Adobe Commerce en la infraestructura en la nube o en la aplicación, actualice los archivos de configuración del proyecto antes de actualizar 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**:
-
Agregar los(as) siguientes
allow-pluginsa la secciónconfig:code language-json "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, "laminas/laminas-dependency-plugin": true, "magento/*": true } }, -
Agregue el siguiente complemento a la sección
require:code language-json "require": { "magento/composer-root-update-plugin": "^2.0.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" }, }, -
Guarde el archivo. Aún no confirme ni inserte cambios en la rama.
-
Continúe con el proceso de actualización.
Copia de seguridad de entorno
Adobe recomienda crear una copia de seguridad de la instancia 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:
-
Cree una copia de seguridad local de la base de datos remota.
code language-bash magento-cloud db:dumpnote NOTE El comando magento-cloud db:dumpejecuta 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. -
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:
-
Utilice SSH para iniciar sesión en el entorno remoto.
-
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-dumpLa operación de volcado crea un archivo de
dump-<timestamp>.sql.gzen 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:
-
En la estación de trabajo local, cambie al directorio del proyecto.
-
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-updatenote 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 archivocomposer.jsonpara la versión de la plantilla de aplicación que está utilizando para la actualización. -
Actualice el archivo
composer.jsoncon la versión de actualización principal de Commerce.code language-bash composer require-commerce magento/product-enterprise-edition 2.4.8 --no-update -
Si utiliza B2B, actualice el archivo
composer.jsoncon la versión compatible para Commerce.code language-bash composer require-commerce magento/extension-b2b 1.5.2 --no-update -
Actualizar dependencias del proyecto.
code language-bash composer update -
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 directoriom2-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ónQUALITY_PATCHESdel 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
-
-
Agregar, confirmar y enviar cambios de código.
code language-bash git add -Acode language-bash git commit -m "Upgrade"code language-bash git push origin <branch-name>git add -Aes necesario para agregar todos los archivos modificados al control de código fuente debido a la forma en que Composer calcula los paquetes base. Tantocomposer installcomocomposer updatecalculan las referencias de los archivos del paquete base (magento/magento2-baseymagento/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.
-
Para completar la actualización, espere a la implementación.
-
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:
-
Cree una rama en la estación de trabajo local.
-
Deshabilite las extensiones según sea necesario.
-
Cuando esté disponible, descargue las actualizaciones de extensión.
-
Instale la actualización según lo documentado por la documentación de terceros.
-
Habilite y pruebe la extensión de.
-
Agregue, confirme e inserte los cambios de código en el control remoto.
-
Envíe a y pruebe en su entorno de integración.
-
Para realizar pruebas en un entorno de preproducción, vaya al entorno de ensayo.
Adobe recomienda actualizar el entorno de producción antes de, incluidas las extensiones actualizadas en el proceso de inicio del sitio.
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:
-
En la estación de trabajo local, cambie al directorio del proyecto.
-
Utilice SSH para iniciar sesión en el entorno remoto.
code language-bash magento-cloud ssh -
Abra el archivo
./app/var/report/<error number>. -
Examine los registros y determine el origen del problema.
-
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>