Integración del servidor Magento2 CI para producción

11

¿Cuáles son los pasos, pautas y flujos que deben seguirse para un flujo de trabajo de integración continua de Magento2 exitoso?

Atish Goswami
fuente

Respuestas:

1

Actualmente estamos trabajando para mejorar nuestro proceso de implementación en Magento 2. Agradecería cualquier comentario que tenga, por favor envíeme un correo electrónico a Twitter o correo electrónico.

En este momento en M2 harías lo siguiente (en tu entorno)

  • Obtener o actualizar el código (git / etc ...)
  • instalación del compositor
  • configuración de bin / magento: actualización (o configuración: instalación)
  • conjunto bin / magento: modo producción

FYI set: mode production hace un

  • bin / magento setup: di: compile
  • configuración de bin / magento: contenido estático: desplegar

Hay algunos otros enfoques que puede usar ahora para acercarse a un proceso de compilación e implementación de 2 pasos, pero son bastante complejos.

Arrojar
fuente
Chuck, ¿podrías explicar más sobre el proceso de implementación más complejo?
Tjitse
Está en desarrollo: lo escribiremos y lo lanzaremos como parte de la próxima versión (2.2). Vea algunos de los nuevos comandos CLI que hemos agregado en la línea principal: app: config: dump, app: config: import, config: sensitive: set, config: set, config: show, setup: db: status. La idea es instalar Magento en su máquina de desarrollo, configurarlo como lo desee en el panel de administración. haga una aplicación: config: dump (termine con un config.php, env.php), compile y despliegue de activos estáticos. Luego copie su código (incluidos los activos) en el entorno de producción (copia a mano envuelva su archivo env.php según corresponda) y luego configure: actualice en prod.
Chuck
Básicamente una operación de despliegue de 2 pases. El primer paso está en su máquina de desarrollo (es decir, no hay tiempo de inactividad de producción), el segundo paso está en producción (copia de código + tiempo de inactividad potencial (configuración: actualización) si tiene un cambio de esquema). El objetivo es <1 min de tiempo de inactividad en producción con cambio de esquema.
Chuck
Sugerencia: ¡no ejecute "composer install" en Production! Eso debe hacerse en una etapa previa a la implementación en el proceso de CI, para evitar problemas graves si Packagist o repo.magento.com están inactivos. Incluso podría ejecutar los otros comandos de magento también antes de la implementación: si implementa un artefacto precompilado (paquete) en su lugar, entonces no tendrá que ejecutar nada más que "configuración de magento: actualización" para el DB + posiblemente un lavado de caché una vez que el código llega a producción. Minimizando el tiempo de inactividad a solo unos pocos milisegundos (o un par de segundos) incluso con cambios de esquema.
Gabriel Somoza