Как стать автором
Обновить

Комментарии 10

Добрый день!

В связи с упоминаеним отдельных репозиториев у меня возник вопрос, вернее даже несколько вопросов на эту тему:
  • какая архитектура репозитория в вашем хранилище модулей, я себе представляю это так:
    /ModuleName/
        doc
        src/
            app
            skin
    
    если это так, то как вы мержите в этот репозиторий из девелоперской копии мадженто?
  • Перед тем как публиковать модуль в репозиторий у нас принято делать тесты для ЕЕ и СЕ платформ, деплой на эти платформы тоже не очень гладкий, поскольку опять стаёт проблема выковыривания файлов из дев. мадженты в ЕЕ и СЕ
  • у нас используется 4 репозитория (extension repository, developer repository, test ce, test ee) и применять модификации из дев мадженты на 3 остальных репозитория не очень удобно… (я использую патчи, но это всё равно не то что я хотел бы)
    Поделитесь пожалуйста опытом, как этот процесс происходит у вас?


Спасибо.
Прошу прощения за задержку с ответом — Новый Год и все такое…

На данный момент мы только рассматриваем возможность перехода на использование Magento Composer для развертывания наших проектов. Поэтому я не могу сказать, насколько удачно выбранное решение — нет опыта использования по полному циклу, от создания проекта, до его развертывания и внесения изменений. Что же касается предполагаемой структуры репозитория, то ее можно увидеть на github'е:


Деплой на CE платформу описан в статье, к сожалению по поводу ЕЕ ничего не могу сказать — мы просто не сталкивались с таким вариантом. Похоже, что в репозитории нет такого модуля.

По поводу развертывания проекта для различных задач (у нас это 4 варианта: девелоперская, тестовая, пилотная и production) я планирую написать отдельную статью. Когда доберусь до этого вопроса и разберусь в нем. Если доберусь и разберусь. Пока что только понятно, что стратегия развертывания для production-версии должна быть copy, а не symlink — т.е., там должен быть очень сильно другой composer.json.
Нашел в интернетах, как создавать собственные пакеты с Magento Core — github.com/WeareJH/magento-skeleton/wiki/Creating-a-Core-Package Т.е., если нужно разворачивать свой модуль на EE-платформе, то создается соответствующий модуль, который и используется вместо
  "require": {
    ...
    "magento/core": "1.9.1.0",
    ...
  },
Наделся увидеть сравнение плюсов и минусов по сравнения с чистым modman.
К сожалению, с чистым modman'ом не работали. На данный момент мы разворачиваемся из SVN'а с использованием самописных shell-скриптов, монтируя узлы репозитория в дерево Magento-приложения на уровне каталогов.
Именно это делает modman. Даже из вашей статьи видно что плагин для композера использует конфиг модмана. Вот я и пытаюсь понять зачем кому то понадобилось делать modman 2.0 =) Только более сложный в использовании.
Как минимум, Magento Composer предполагает возможность развертывания под Windows, в то время, как modman сообщает:
Windows (including cygwin) is not supported by this script, but there is a PHP-port of modman which works on Windows. I am not affiliated with the authors and do not provide support for the PHP port, only a link here for reference.


Плюс, сам Composer является более универсальным инструментом (уровень PHP-сообщества), чем modman (уровень Magento-сообщества). Эти два пункта и побудили нас рассматривать Magento Composer вместо modman'а.
Magento не поддерживает Windows официально см. System Requirements for Magento, поэтому для скриптов поддержка Win не обязательна.
Я об этом не знал, поэтому до сих пор разрабатываю модули на рабочей станции под Win7 :) Да и последний production-сервер под Windows мы убрали буквально пару месяцев назад — мигрировали на linux'овый. Версия 1.9.0.1 CE вполне добротно стояла под wind'ой. Посмотрел системные требования — действительно, минимум с ноября 2013 года указана платформа Linux x86, x86-64. Ну мы, по крайней мере, не сталкивались с проблемами, вызванными тем, что Magento была развернута в win-среде. Там разворачивались одни из первых наших проектов (2-3 года назад), потом начали разворачивать на linux-серверах. Хотя разработка, как я уже отметил, идет на рабочих станциях под Windows.
Приятно видеть новые статьи, касаемые Magento. Тоже хочу написать, но пока не знаю что будет интересно аудитории.
По теме, не вникал в тонкости, но думал уже насчет автоматизации рутиных действий, в том числе развертывания. Встречал утилиты mage-cli mage-tools, помогают, но не настолько насколько хотелось бы, возможно magento composer будет как раз кстати.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории