
Вам не потрібно уявляти, наскільки дратують сторінки обслуговування 503 та інші повідомлення про помилки. Усі їх ненавидять — продавці втрачають потенційних клієнтів, а останні перериваються під час покупок. Це програшна ситуація.
Кожен розробник знає, що помилки на сторінці є частиною розгортання Magento, включаючи процес Розгортання статичного контенту Magento . Але дуже мало хто насправді знає, як уникнути цього за допомогою розгортання з нульовим часом простою.
Тож сьогодні ми детально розглянемо, як працює розгортання з нульовим часом простою та чому воно вам потрібне. Ви також дізнаєтеся, чи дійсно можна досягти нульового часу простою без купівлі Magento Commerce.
Але почнемо з основ.
Як працює розгортання Magento?
Розгортання (deployment) – це метод створення модулів, патчів та іншого коду та його доставки кінцевим користувачам через різні середовища. Іншими словами, це перенесення нового коду з одного середовища в інше..
Ці середовища зазвичай включають:
- Локальне — де розробники створюють код.
- Тестування — де розробники переглядають код, проводять тести та виправляють будь-які помилки.
- Проміжне розміщення (staging) — де розробники проводять остаточні перевірки якості та показують розроблений код одержувачу. Проміжне розміщення повністю відображає реальний сайт.
- Продакшн (production) — де розробники роблять свій код доступним для кінцевих користувачів.
Отже, як насправді працює переміщення коду з одного середовища в інше в Magento? Це не просто копіювання коду. Процес зводиться до виконання трьох команд після завантаження коду:
- bin/magento setup:upgrade — очищує кеш, видаляє PHP-класи з ін'єкцією залежностей (DI) та статичний контент
- bin/magento setup:di:compile — генерує PHP-класи з ін'єкцією залежностей у папці "generated"
- bin/magento setup:static-content:deploy — генерує файли .phtml у папці "var/view_preprocessed", а JS, CSS, JSON, зображення та інші статичні файли у папці "pub/static"
Якщо ваш Magento знаходиться у продакшн-режимі, ваш веб-сайт не працює весь час — від першої до останньої команди, що створює деякі недоліки.
Недоліки розгортання Magento за замовчуванням
Хоча кінцеві результати покликані покращити взаємодію з користувачем, розгортання змін зазвичай спричиняє багато незручностей як для користувачів, так і для продавців. Ми обговоримо лише найпоширеніші з них.
Перерваний процес покупок
Щоб виконати команди розгортання, розробникам потрібно перервати роботу веб-сайту. Це зупиняє всі процеси магазину, оскільки ваш веб-сайт стає недоступним для перегляду.
Залежно від змін, що розгортаються, розгортання може тривати від кількох хвилин до набагато довшого часу.
Не всі готові чекати, поки веб-сайт знову стане доступним. Це призводить до того, що продавці втрачають потенційних клієнтів і продажі під час розгортання.
Незручний час розгортання
Другий недолік більше пов'язаний з розробниками. Щоб уникнути першої незручності, продавці просять запускати розгортання, коли на веб-сайті мало або взагалі немає клієнтів. Отже, це не перериває процес покупок.
На жаль, більшість веб-сайтів мають мало клієнтів або взагалі їх немає, лише пізно ввечері або вночі. Не дуже зручно для особи, яка керує розгортанням, чи не так?
Несподівані помилки
Хоча розробники, можливо, кілька разів перевіряли зміни в тестовому та етапному середовищах, деякі проблеми все одно можуть виникнути під час розгортання.
Якщо з якоїсь причини це не вдається, ваш веб-сайт застрягне посередині. Це лише збільшує час простою, що значно підвищує рівень стресу продавців.
Хоча це не так імовірно, але шанс все ще є.
Що таке розгортання з нульовим часом простою?
Тепер, коли ви бачите всі недоліки процесу розгортання Magento за замовчуванням, ви можете задатися питанням, чи є спосіб уникнути всієї цієї метушні. Є — розгортання з нульовим часом простою.
Ваш веб-сайт ніколи не працює під час розгортання з нульовим часом простою. Все тому, що веб-сервер не обслуговує змінений код, доки розгортання не буде завершено.
Таким чином ви можете:
- запускати розгортання в Magento, коли забажаєте
- НІКОЛИ не переривати процес покупки клієнта
- забути про 503 сторінки обслуговування
То як отримати все це?
Як досягти нульового простою в розгортанні в Magento?
Один зі способів досягти нульового простою в розгортанні в Magento - це використовувати Magento Commerce on Cloud. Він використовує інструменти ece для оптимізації розгортання та досягнення нульового простою.
Однак, враховуючи Ціни на Magento , це не та інвестиція, яку кожен готовий зробити.
Простіший спосіб — встановити , який чудово працює у версіях з відкритим кодом та Enterprise. Він не тільки зменшує час простою до нуля, але й вимагає менше кроків для запуску розгортання.
Отже, по суті, він виконує всю роботу за вас. Вам потрібно виконати лише одну команду.
Як працює розгортання з нульовим часом простою?
Тепер настав час побачити, як працює розгортання з нульовим часом простою в Magento порівняно зі стандартним розгортанням Magento. Спочатку ви запускаєте розгортання лише за допомогою однієї команди — bin/magento Magefan:zero-downtime:deploy . Розширення робить все інше:
- Створює тимчасову папку з копією вашого активного Magento та запускає там усі процеси. наприклад, var/mfzerodwt/instance
- Перевіряє, чи є нові розширення для ввімкнення, та вмикає їх у тимчасовій папці.
- Виконує команду bin/magento setup:di:compile у тимчасовій папці. Команда
- Виконує команду bin/magento setup:static-content:deploy у тимчасовій папці (лише для ввімкнених тем та локалізацій). Команда
- Виконує команду bin/magento setup:upgrade з параметром --keep generated у тимчасовій папці, щоб не видаляти раніше згенерований DI та статичний вміст.
- Копіює всі файли з тимчасової папки в активну папку за частку секунди, що непомітно.
- Видаляє тимчасові файли та папку.
Оскільки розгортання виконується у фоновому режимі в окремій папці, ви не отримуєте жодних простоїв на фронтенді. Але найкраще те, що ви можете досягти нульового простою в розгортанні Magento за допомогою без Git .
Спробуйте розгортання з нульовим простоєм
Ваш магазин постійно змінюється — ви додаєте нові розширення, оновлюєте дизайн, оптимізуєте оформлення замовлення та інші сторінки. Але вам потрібне розгортання, щоб перенести всі ці зміни на ваш веб-сайт.
Тож, хоча ви не можете цього повністю уникнути, ви можете принаймні переконатися, що це не спричинить перебоїв у роботі фронтенду. Magefan допоможе вам у цьому, оскільки ми пропонуємо вам команди розгортання з нульовим часом простою для кожного випадку. Просто спробуйте.
