мы должны упаковать наши сторонние библиотеки с нашими компонентами? - PullRequest
2 голосов
/ 21 января 2010

Мы занимаемся рефакторингом архитектуры. Мы являемся SaaS-компанией, поэтому все развертывания осуществляются на наших собственных серверах с самостоятельным управлением. Текущая модель упаковывает все наши двоичные файлы вместе со сторонними библиотеками, которые мы используем, в уши, войны, тары и т. Д. Эти пакеты включают в себя все библиотеки, от которых они зависят.

Когда они развернуты, они взрываются вручную (без тары) или подбираются любым целевым контейнером, для которого они были созданы.

Поскольку библиотеки не сильно меняются, нас интересует, лучше ли развертывать библиотеки заранее, как часть настройки среды, и обновлять их по мере необходимости. Мы не склоняемся так или иначе, и я просто жду обратной связи.

1 Ответ

4 голосов
/ 21 января 2010

Обычно лучше упаковать библиотеки с ушами, войнами и т. Д. Некоторые причины:

  • Экономит время при настройке нового сервера. Если вы не упакуете свои зависимости в развертываемую, может потребоваться много времени, чтобы получить все нужные библиотеки на новом целевом сервере.
  • Вы можете развертывать различные файлы .war на сервере приложений, которые зависят от разных версий одной и той же библиотеки.
  • Обновление библиотеки будет простым, если вы упакуете свои зависимости в развертываемое (просто повторно разверните). Если ваши библиотеки разделены, у вас есть дополнительные шаги для развертывания новой библиотеки (и другого места, где что-то может пойти не так).
  • Вы можете быть уверены, что .war, развернутый в тестовой среде, будет вести себя так же в среде prod, если вы включите зависимости. Незначительные различия в средах test / prod с централизованными библиотеками и версиями часто вызывают проблемы.
  • Ваш список зависимостей действительно явный. Например, вы можете провести аудит лицензии с открытым исходным кодом. Если вы не упаковываете зависимости с вашим пакетом, вы никогда не узнаете ...
...