Репозиторий Maven - JFrog Artifactory - JFrog Wiki

  1. обзор Как хранилище Maven, Artifactory является источником артефактов, необходимых для сборки, и...
  2. Разрешение артефактов через артефакт
  3. Автоматическое создание настроек
  4. Предоставление динамических настроек для пользователей
  5. Переопределение встроенных репозиториев вручную
  6. Дополнительное зеркало любой настройки
  7. Развертывание артефактов через артефакт
  8. Настройка безопасности в настройках Maven

обзор

Как хранилище Maven, Artifactory является источником артефактов, необходимых для сборки, и целью развертывания артефактов, сгенерированных в процессе сборки. Maven настраивается с помощью файла settings.xml, расположенного в вашем домашнем каталоге Maven (обычно это / user.home / .m2 / settings.xml ) Для получения дополнительной информации о настройке Maven, пожалуйста, обратитесь к Справочник по настройкам проекта Apache Maven ,

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

Для работы с Artifactory вам необходимо настроить Maven для выполнения следующих двух шагов:

  1. Разрешить артефакты с помощью Artifactory
  2. Развертывание артефактов в хранилищах через Artifactory

После настройки сборки Maven Artifactory также обеспечивает тесную интеграцию с обычно используемыми CI-серверами (такими как Дженкинс , TeamCity или бамбуковый ) через набор плагинов, которые вы можете свободно устанавливать и использовать.

Просмотр Maven Артефактов

Если вы выберете файл метаданных Maven (maven-metadata.xml) или файл POM (pom.xml) в обозревателе дерева, Artifactory предоставит соответствующие вкладки, позволяющие просматривать сведения о выбранном элементе.

Maven Metadata View

Maven Metadata View

POM View

POM View

Разрешение артефактов через артефакт

Чтобы настроить Maven для разрешения артефактов через Artifactory, необходимо изменить файл settings.xml. Вы можете создать один автоматически или изменить его вручную.

Автоматическое создание настроек

Чтобы упростить настройку Maven для работы с Artifactory, Artifactory может автоматически создавать файл settings.xml. файл, который вы можете сохранить в своем домашнем каталоге Maven.

Определения в сгенерированном файле settings.xml переопределяют центральный репозиторий по умолчанию и репозитории моментальных снимков Maven.

В браузере репозитория артефактов модуля « Артефакты » выберите « Настроить меня». В диалоговом окне « Set Me Up » установите Maven в поле « Инструмент» и нажмите «Создать параметры Maven». Теперь вы можете указать репозитории, которые вы хотите настроить для Maven.

релизы

Репозиторий для разрешения выпусков

моментальные снимки

Репозиторий для разрешения снимков

Релизы плагинов

Репозиторий для разрешения выпусков плагинов

Снимки плагинов

Репозиторий, из которого разрешаются снимки плагинов

Зеркало Любое

Если установлено, вы можете выбрать репозиторий, который должен отражать любой другой репозиторий. Для более подробной информации, пожалуйста, обратитесь к Дополнительное зеркало любой настройки

После настройки параметров для Maven вы можете нажать «Создать параметры», чтобы создать и сохранить файл settings.xml .

Предоставление динамических настроек для пользователей

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

После загрузки настройки генерируются в соответствии с вашей собственной логикой и могут автоматически включать информацию об аутентификации пользователя.

Для более подробной информации, пожалуйста, обратитесь к Предоставление настроек инструмента сборки под Отфильтрованные ресурсы ,

Переопределение встроенных репозиториев вручную

Чтобы переопределить встроенные центральные репозитории и репозитории моментальных снимков в Maven, вам необходимо убедиться, что Artifactory правильно настроен, чтобы запросы никогда не отправлялись непосредственно им.

Для этого вам нужно вставить следующее в родительский POM или settings.xml (под активным профилем):

<репозитории> <репозиторий> <id> central </ id> <url> http: // [хост]: [порт] / artifactory / libs-release </ url> <снимки> <enabled> false </ enabled> < / snapshots> </ repository> <repository> <id> snapshots </ id> <url> http: // [host]: [порт] / artifactory / libs-snapshot </ url> <release> <enabled> false < / enabled> </ release> </ repository> </ repositories> <pluginRepositories> <pluginRepository> <id> central </ id> <url> http: // [host]: [port] / artifactory / plugins-release < / url> <снимки> <enabled> false </ enabled> </ snapshots> </ pluginRepository> <pluginRepository> <id> снимки </ id> <url> http: // [хост]: [порт] / артефакт / plugins-snapshot </ url> <release> <enabled> false </ enabled> </ Release> </ pluginRepository> </ pluginRepositories>

Дополнительное зеркало любой настройки

В дополнение к переопределение встроенных репозиториев Maven Вы можете использовать параметр « Зеркальное отображение любых» для перенаправления всех запросов в репозиторий Maven через Artifactory, включая те, которые определены внутри POM-модулей плагинов и зависимостей сторонних производителей. (Несмотря на то, что он не придерживается лучших практик, POM нередко ссылаются непосредственно на репозитории Maven). Это гарантирует, что такие POM не будут вводить неожиданные запросы непосредственно в Maven.

При создании файла settings.xml вы можете либо проверить Mirror Any на экране настроек Maven , либо вручную вставить следующее:

<mirrors> <mirror> <id> артефакт </ id> <mirrorOf> * </ mirrorOf> <url> http: // [хост]: [порт] / артефакт / [виртуальный репозиторий] </ url> <имя> Артефакт </ name> </ mirror> </ mirrors>

Artifactory требует аутентификации пользователя в трех случаях:

  • Анонимный доступ был отключен, сняв флажок Разрешить анонимный доступ установка.
  • Вы хотите ограничить доступ к репозиториям ограниченному кругу пользователей
  • При развертывании сборок (хотя теоретически это возможно, разрешается анонимный доступ к репозиториям развертывания)

Аутентификация настраивается в Maven с использованием элементов <server> в файле settings.xml.

Каждый элемент <repository> и <mirror>, указанный в файле, должен иметь соответствующий элемент <server> с соответствующим <id>, который указывает имя пользователя и пароль.

В приведенном ниже примере фрагмента подчеркивается, что элемент <repository> с id = central имеет соответствующий элемент <server> с id = central.

Аналогично, элемент <repository> с id = snapshots имеет соответствующий элемент <server> с id = snapshots.

То же самое относится и к элементам <mirror>, которые требуют аутентификации.

В обоих случаях имя пользователя - admin, а пароль зашифрован.

Artifactory поддерживает репозитории Maven с включенным по умолчанию разрешением анонимного доступа и не будет запрашивать у клиента Maven параметры аутентификации.
Если вы хотите применить аутентификацию, вам нужно явно указать Artifactory запросить параметры аутентификации.

В диалоговом окне «Создать или редактировать репозиторий» виртуальных репозиториев Maven установите флажок « Принудительная аутентификация» .

В диалоговом окне «Создать или редактировать репозиторий» виртуальных репозиториев Maven установите флажок « Принудительная аутентификация»

Развертывание артефактов через артефакт

Настройка управления распределением

Для развертывания артефактов сборки через Artifactory необходимо добавить элемент развертывания с URL-адресом целевого локального репозитория, в котором вы хотите развернуть свои артефакты.

Чтобы сделать это проще, Artifactory отображает фрагмент кода, который вы можете использовать в качестве элемента развертывания. В модуле Tree Browser модуля Artifacts выберите репозиторий, в который вы хотите развернуть, и нажмите Set Me UP. Фрагмент кода отображается под Deploy.

Фрагмент кода отображается под Deploy

Настройка безопасности в настройках Maven

При развертывании сборок Maven через Artifactory вы должны убедиться, что любой элемент <repository> в ваших настройках распространения имеет соответствующий элемент <server> в файле settings.xml с действительными именем пользователя и паролем, как описано в Настройка аутентификации выше. В приведенном выше примере клиент Maven ожидает найти элемент <server> в файле settings.xml с указанным <id> артефактом </ id> .

Смотреть скринкаст