Должны ли мы упаковать наши сторонние библиотеки с нашими компонентами?

StackOverflow https://stackoverflow.com/questions/2105463

Вопрос

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

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

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

Это было полезно?

Решение

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

  • Это экономит время, когда вы настраиваете новую серверную машину. Если вы не упаковываете свои зависимости с помощью развертываемого, это может занять много времени, чтобы получить все правильные библиотеки на новой машине целевого сервера.
  • Вы можете развернуть разные файлы .war на сервер приложений, которые зависят от разных версий одной и той же библиотеки
  • Обновление библиотеки является простым, если вы упаковываете свои зависимости с помощью развертываемого (просто перераспределение). Если ваши библиотеки разделены, у вас есть дополнительные шаги для развертывания новой библиотеки (и другого места, где все может пойти не так).
  • Вы можете быть уверены, что .WAR, развернутый в тестовой среде, будет вести себя так же в среде Prod, если вы включите зависимости. Тонкие различия в средах тестирования/продукта с централизованными библиотеками и версиями часто вызывают проблемы.
  • Ваш список зависимостей действительно явный. Например, вы можете провести аудит лицензии с открытым исходным кодом. Если вы не упаковываете зависимости со своим пакетом, вы никогда не знаете ...
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top