Вам не подобається бачити ваш магазин зламаним або в режимі обслуговування під час запуску deployment команд в Magento 2? Справді? Чудово. Протягом наступних 5 хвилин ми допоможемо вам з цим болем. У Magefan ми створили Linux bash скрипт, який дозволяє запускати команди bin/magento setup без ламання магазину, тривалого простою та втрати продажів.
Увага! Цей cкрипт застарілий, ми настійно рекомендуємо використовувати Magento 2 Zero Downtime Deployment Extension.
Щоб використовувати Magento 2 zero downtime deployment, виконайте наведені нижче дії:
1. Встановіть скрипт Magento 2 zero-downtime deployment
Запустіть ці CLI команди у кореневому каталозі Magento:
wget -O deploy.zip https://github.com/magefan/magento2-zero-downtime-deploy/archive/master.zip
unzip deploy.zip
rm -f deploy.zip
mv magento2-zero-downtime-deploy-master/ deploy
cp deploy/app/static-content-deploy.sh.sample deploy/app/static-content-deploy.sh
cp app/etc/env.php deploy/app/env.php
echo $'\n'deploy/app/env.php >> .gitignore chmod +x deploy/run
2. Налаштуйте скрипт zero-downtime
Якщо ви використовуєте конкретні команди розгортання статичного контенту, відредагуйте наступний файл
deploy/app/static-content-deploy.sh
За замовчуванням він має команди для розгортання всіх тем Magento 2 у мові en_US.
Якщо ви використовуєте Redis або інше сховище без папок, для сесії чи кеш-пам’яті, відредагуйте файл
deploy/app/env.php
Переконайтеся, що кеш і сесія зберігаються в папці.
3. Використайте M2 zero-downtime deploy script
Щоб розгорнути статичний контент Magento (bin / magento setup: static-content: deploy) без простоїв, використовуйте CLI команду:
deploy/run -s
Щоб згенерувати налаштування введення коду та залежностей - (dependency injection configuration) (bin / magento setup: di: compile) без простою, використовуйте CLI команду:
deploy/run -d
Ви також можете запустити скрипт з кількома параметрами, напр.:
deploy/run -d -s
Щоб оновити дані та схему бази даних модулів Magento 2 (bin / magento setup: upgrade), використовуйте CLI команду:
deploy/run
Якщо ви встановлюєте нові розширення, виконайте цю команду:
deploy/run -m Vendor_Module1 Vendor_Module2
Зауважте, що ці команди також запускатимуть DI та згенерують статичний контент, і це єдина команда, яка переводить магазин Magento 2 у режим обслуговування на кілька секунд під час виконання setup:upgrade.
Чи справді це працює?
- Так. Ми вже використовуємо його на сайті magefan.com та в декількох магазинах клієнтів для впровадження нових змін дизайну та бізнес-логіки. Ми раді поділитися цим з вами та отримати відгук.