Вы, вероятно, немного знаете об этом, но вот высокоуровневый обзор (для других) о настройке репозитория Maven.
После того, как у вас есть репозиторий, вам нужно вернуться к каждому из зависимых проектов (или если они совместно используют главный pom) и определить репозиторий, чтобы он был добавлен в исходные репозитории, которые будут извлекаться для сборок.
Я использовал Apache's Archiva с хорошими результатами, и он поддерживает функцию "кэширующего прокси" для запросов проектов Maven, например что он будет загружать и собирать двоичные артефакты из вышестоящих репозиториев, если он не может обслуживать сам двоичный артефакт. Тем не менее, документация могла бы быть немного лучше.
Есть и другие продукты, такие как Artifactory, которые пользуются хорошей репутацией. Возможно, вы захотите рассмотреть его как кандидата на оценку.
Для ваших сборок не нужна система управления репозиторием, как подойдет любому ssh-серверу с правильной структурой каталогов; тем не менее, наличие такой системы может облегчить вам жизнь за счет автоматического кэширования в сочетании с проксированием запросов, предоставления средств для управления доступом пользователей, структурирования и управления несколькими репозиториями (разработка/выпуск QA/общая доступность) и создания нечетных отчетов, которые могут усложнить управление. легче (если вы их используете).
Что касается фактического использования такого сервера, вам нужно будет изменить две «части» вашего pom и один (возможно) дополнительный файл, который вам нужно будет добавить.
- Вам нужно будет перенастроить раздел ‹repositories› вашего проекта, чтобы получать данные из репозиториев.
- Вам придется перенастроить раздел ‹distributionManagement› вашего проекта для развертывания в новых репозиториях.
- Вам нужно будет изменить или создать файл «settings.xml» для хранения учетных данных для доступа к репозиторию.
Кроме того, это становится вопросом стиля. Я рекомендую отделить снимки от «релизов», настроив два репозитория. Это позволяет вам часто удалять старые файлы из репозиториев моментальных снимков без риска для давно используемых версий выпуска.
Затем вам нужно решить, собираетесь ли вы кэшировать все элементы, необходимые для сборки собственными силами. Если это так, вам нужно перенастроить проекты, чтобы они не извлекались из «внешних» репозиториев, и загружали «отсутствующие» артефакты в правильный каталог в вашем репозитории. Функция «автоматического прокси-кэширования» многих продуктов для управления репозиториями делает именно это.
Затем вам нужно решить, собираетесь ли вы кэшировать все подключаемые модули для системы maven собственными силами. Если это так, вам понадобится pluginRepository, а если вы когда-нибудь захотите развернуть собственный подключаемый модуль, pluginSnapshotRepository. Да, это звучит как много, но сделать четыре таких репозитория одновременно немного сложнее, чем сделать один.
Удачи!
person
Edwin Buck
schedule
05.10.2012