У меня не такой опыт, но я работал над некоторыми большими проектами Java EE (используя maven2) с очень разными способами установки / доставки на разных платформах.
1) Один из них заключался в использовании моментальных снимков для разработки, а затем в выпуске maven компонентов и основных веб-приложений. Таким образом, доставка: Я думаю, что этот процесс строг и позволяет вам всегда легко сохранять различные конфигурации, переданные в продакшене, но он не очень гибкий, процесс немного тяжелый, и он заставлял нас иногда делать некоторые грязные вещи, такие как переопределение класса войны для исправьте регресс ... Это веб-сайт электронной коммерции с 10 миллионами уникальных посетителей в месяц и доступностью 99,89%.
2) Еще я видел, как проверить источники на каждой платформе, а затем установить артефакты моментальных снимков в локальном репозитории. Затем сервер приложений будет использовать эти снимки папки .m2. Реального процесса доставки нет, так как для запуска новой версии в производство нам просто нужно обновить источники компонентов / веб-приложений, выполнить некоторую чистую установку maven и перезапустить сервер приложений. Я считаю, что он более гибкий, но вижу некоторые недостатки, и этот подход кажется мне опасным. У этого веб-сайта есть фронт-офис, я не знаю цифр, но он намного меньше, чем первый. У него также есть большой бэк-офис, доступный для большинства сотрудников компании из 130 000 человек.
Я полагаю, что в зависимости от веб-сайта, его доступности для публики и требуемой доступности мы должны адаптировать стратегию доставки к потребностям.
] Я здесь не для того, чтобы спрашивать, какое решение является лучшим, но задаюсь вопросом, видели ли вы разные вещи и какую стратегию вы бы использовали в этом случае?