Хорошая конфигурация для Archiva?
Недавно мы решили использовать Maven в качестве системы сборки. Я несу ответственность за перенос всех проектов из Ant в Maven. Мы также решили использовать Apache Archiva для настройки внутреннего репозитория в компании.
Я вижу, что Archiva по умолчанию создает два репозитория (внутренний и снимки). Я также вижу, что он настраивает внутренний репозиторий для прокси центрального и java.net репозиториев. Есть ли лучшие рекомендации по конфигурации Archiva?
В документации Archiva есть возможность настроить Maven на использование только внутреннего репозитория, а затем получить доступ к удаленному репозиторию через внутренний репозиторий. Что вы думаете об этом варианте?
Спасибо за вашу помощь
1 ответ
Менеджер репозитория Maven необходим для поддержки разработки Enterprise Maven. Установщик Maven - это просто загрузчик, запускающий Maven в первый раз загружает все необходимое из репозитория Maven Central для компиляции вашего проекта.
Преимущества использования репозитория Maven задокументированы в другом месте, но я подведу итог:
- Эффективность. Репозиторий действует как кеш для артефактов Maven Central
- Упругость. Репозиторий защищает от сбоев удаленного репозитория или отсутствия интернет-соединения
- Повторяемость. Централизованное хранение общих артефактов позволяет избежать общих ошибок сборки, вызванных разработчиками, которые поддерживают собственные локальные репозитории.
- Аудит. Если все сторонние библиотеки, используемые при разработке, поступают из одной точки входа в процесс сборки, можно оценить, как часто они используются (на основе файлов журнала загрузок) и какие применяются условия лицензирования.
Для этого я рекомендую вам использовать следующие функции Archiva:
- Блокировка, чтобы использовать только Archiva. Настройте клиенты Maven, загрузите все из Archiva.
- Виртуальные репозитории для каждой команды. Сконфигурируйте все удаленные репозитории, используемые группами централизованно в Archiva, вместо того, чтобы оставлять детали самим командам.
PS Я использую Nexus для управления хранилищем Maven, но применяются те же понятия.