Лучшая практика для хранения зависимостей при автоматизации сборок для Java-приложений

Мы стремимся принять более дружественный к CI подход к управлению нашим локальным файловым сервером зависимостей jar или покончить с ним полностью для лучшей альтернативы. Сейчас это просто сервер Linux с некоторой формой файловой структуры, например:

http://server_name/vault/apache.org/axis/version_number/axis.jar
http://server_name/vault/apache.org/axis/version_number/jaxrpc.jar
http://server_name/vault/apache.org/axis/version_number/axis.jar

Интересно, какой стандарт принят корпоративной CI для управления этими зависимостями, когда вы выполняете автоматические сборки.

  • Было бы неплохо хранить их в AWS S3?
  • Существуют ли приложения, которые помогают управлять библиотекой зависимостей jar? (Ищите решения с открытым исходным кодом предпочтительно). Например, что-то похожее на то, где вы просто добавляете банку, которая вам нужна, и вытаскиваете ее с помощью API при сборке.
  • Предполагая, что Apache Ant используется для построения проекта. И если это не очень хорошо в сфере CI, что будет хорошей альтернативой?

1 ответ

Я бы порекомендовал использовать Apache ivy для управления зависимостями вашей сборки. Ivy можно настроить для извлечения ваших зависимостей из репозиториев Maven, что в настоящее время является стандартом defacto для хранения двоичных файлов Java.

Maven Central является крупнейшим хранилищем двоичных файлов Java. Для размещения ваших личных двоичных файлов доступны различные готовые опции: Nexus, Artifactory или Archiva.

Другие вопросы по тегам