Прокси-сервер всех репозиториев зависимостей maven через внутренний Nexus

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

Я хочу создать стабильную среду сборки и хочу, чтобы моя локальная установка Nexus передала все требования проекта, чтобы я мог воспроизвести сборки, не заходя в Интернет после того, как я все настроил один раз.

То есть мой .m2/settings.xml будет содержать:

<mirrors>
    <mirror>
        <id>my.public</id>
        <url>http://localhost:8081/nexus/content/groups/public</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>

Но, конечно, этого недостаточно. Nexus не будет произвольно проксировать каждый запрос, который он получает от моей установки maven.

В настоящее время, насколько я понимаю, и вот как я заработал, для каждого удаленного репозитория, с которым я сталкиваюсь, я создаю прокси в Nexus и добавляю его в общедоступную группу.

В моем случае это 15 или 20 удаленных репозиториев. Большинство из них являются дополнительной зависимостью от моих пакетов, то есть не очевидно, что они мне нужны, пока я не запущу сборку maven и не нажму их. Я обнаружил, что до сих пор они в основном упоминались в родительских POM.

Мой вопрос: есть ли способ настроить Nexus, чтобы мне не нужно было добавлять каждый репозиторий вручную?

Когда я перечитываю свой вопрос, мне почти кажется, что я хочу настоящий HTTP-прокси, но в чем тогда смысл Nexus? Конечно, это риторический вопрос, но как мне решить эту проблему, не добавляя их все вручную?

Все, что я нашел в документации Nexus, это http://www.sonatype.com/books/nexus-book/reference/config-sect-custom.html:

... вы можете столкнуться с проектами, которые не могут получить артефакты из вашей локальной установки Nexus

и

... добавьте этот репозиторий в Nexus в качестве нового прокси-репозитория, а затем добавьте новый прокси-репозиторий в общедоступную группу


person mark    schedule 14.11.2011    source источник


Ответы (1)


Не то чтобы я в курсе. Именно по этой причине в настоящее время у нас есть 30-40 репозиториев, зеркалируемых через нашу установку Nexus. Мы используем аналогичный зеркальный оператор в settings.xml, чтобы заставить всех использовать наш репозиторий в качестве универсального магазина. Однако мы принуждаем (посредством политики) к тому, чтобы разработчики не добавляли репозитории в файлы pom в проектах. Вместо этого они отправляют запрос на добавление прокси.

person Michael    schedule 01.02.2012