Какое решение является наилучшим для обработки многоплатформенной (dev / integ / valid / prod…) разработки? Процесс доставки

У меня не такой опыт, но я работал над некоторыми большими проектами Java EE (используя maven2) с очень разными способами установки / доставки на разных платформах.

1) Один из них заключался в использовании моментальных снимков для разработки, а затем в выпуске maven компонентов и основных веб-приложений. Таким образом, доставка: Я думаю, что этот процесс строг и позволяет вам всегда легко сохранять различные конфигурации, переданные в продакшене, но он не очень гибкий, процесс немного тяжелый, и он заставлял нас иногда делать некоторые грязные вещи, такие как переопределение класса войны для исправьте регресс ... Это веб-сайт электронной коммерции с 10 миллионами уникальных посетителей в месяц и доступностью 99,89%.

2) Еще я видел, как проверить источники на каждой платформе, а затем установить артефакты моментальных снимков в локальном репозитории. Затем сервер приложений будет использовать эти снимки папки .m2. Реального процесса доставки нет, так как для запуска новой версии в производство нам просто нужно обновить источники компонентов / веб-приложений, выполнить некоторую чистую установку maven и перезапустить сервер приложений. Я считаю, что он более гибкий, но вижу некоторые недостатки, и этот подход кажется мне опасным. У этого веб-сайта есть фронт-офис, я не знаю цифр, но он намного меньше, чем первый. У него также есть большой бэк-офис, доступный для большинства сотрудников компании из 130 000 человек.

Я полагаю, что в зависимости от веб-сайта, его доступности для публики и требуемой доступности мы должны адаптировать стратегию доставки к потребностям.

] Я здесь не для того, чтобы спрашивать, какое решение является лучшим, но задаюсь вопросом, видели ли вы разные вещи и какую стратегию вы бы использовали в этом случае?

6
задан Arjan Tijms 15 June 2013 в 12:58
поделиться