Серверная интеграция Magento2 CI для производства

11

Каковы шаги, рекомендации и потоки, которые необходимо соблюдать для успешного рабочего процесса Magento2 Continuous Integration?

Атиш Госвами
источник

Ответы:

1

В настоящее время мы работаем над улучшением нашего процесса развертывания в Magento 2. Я буду рад любым вашим отзывам - пожалуйста, напишите мне в Twitter или по электронной почте.

Прямо сейчас на M2 вы бы сделали следующее (в вашей среде)

  • Получить или обновить код (git / etc ...)
  • композитор установить
  • Настройка bin / magento: обновить (или настроить: установить)
  • набор bin / magento: режим производства

К вашему сведению: режим производства делает

  • Настройка bin / magento: di: compile
  • Настройка bin / magento: static-content: deploy

Есть некоторые другие подходы, которые вы можете использовать сейчас, чтобы приблизиться к двухэтапному процессу сборки и развертывания, но они довольно сложны.

цыпленок
источник
Чак, не могли бы вы подробнее рассказать о более сложном процессе развертывания?
Тице
Он находится в разработке - мы напишем его и выпустим как часть следующего выпуска (2.2). Ознакомьтесь с некоторыми новыми командами CLI, которые мы добавили в mainline: app: config: dump, app: config: import, config: sens: set, config: set, config: show, setup: db: status. Идея в том, что вы устанавливаете Magento на свой компьютер разработчика, настраиваете по желанию на панели администратора. сделать приложение: config: dump (в конечном итоге с config.php, env.php), скомпилировать и развернуть static-asset. Затем вы копируете свой код (включая ресурсы) в производственную среду (вручную копируйте файл env.php, если необходимо) и затем настраиваете: обновите на prod.
Чак
В основном, 2-проходная операция развертывания. Первый проход на вашем компьютере разработчика (то есть без простоя производства), второй проход на производстве (копирование кода + потенциальное время простоя (настройка: обновление), если у вас есть изменение схемы). Цель - <1 минута простоя на производстве с изменением схемы.
Чак
Предложение: не запускайте "composer install" в Production! Это следует сделать на этапе предварительной установки в процессе CI, чтобы избежать серьезных проблем, если Packagist или repo.magento.com не работают. Вы можете даже запустить другие команды magento перед развертыванием: если вместо этого вы развернете предварительно скомпилированный артефакт (пакет), вам не нужно будет запускать что-либо кроме «magento setup: upgrade» для БД + возможно очистка кэша, как только код достигает производства. Сокращение времени простоя до нескольких миллисекунд (или нескольких секунд) даже при изменении схемы.
Габриэль Сомоса