Как настроить Maven2 для публикации в Artifactory?
В настоящее время у меня есть проект Maven2, который создает JAR при запуске:
mvn clean package
Мне нужно сейчас настроить pom.xml
опубликовать этот JAR (myapp.jar
) на сервер Artifactory, работающий по адресу:
http://myartifactory/artifactory/simple/myorg/myapp/0.1
Я пытался добавить <repositories>
элемент к моему pom.xml
но ничего не публикуется с этим конфигом:
<repositories>
<repository>
<id>myartifactory</id>
<url>http://myartifactory/artifactory/simple/</url>
</repository>
</repositories>
Какие-нибудь идеи относительно того, как я мог заставить публикацию работать? Для простоты притворимся, что этот репозиторий Artifactory аутентифицирован для принятия публикаций / записей от пользователя с username=foo
а также password=bar
,
1 ответ
У вас есть два варианта (обратите внимание, что последний является рекомендуемым):
добавлять DistributionManagement
часть вашего пом и server
часть вашего settings.xml
- Допустим, вы хотите развернуть в хранилище libs-snapshot-local. В этом случае вам нужно перейти в древовидный браузер в Artifactory, сосредоточиться на уровне хранилища, скопировать
Distribution Management
фрагмент и вставьте его в свойpom.xml
: - Далее вам нужно сообщить Maven учетные данные. Для этого нажмите на свое имя пользователя в правом верхнем углу, введите пароль, чтобы разблокировать экран, скопируйте
server
тег отMaven Settings
панель:Это тот, который вы вставляете в свой
settings.xml
, Не забудьте заменить ${server-id} реальным идентификатором сервера (тот, который у вас есть в Distribution Management сейчас). - Теперь просто беги
mvn deploy
и наслаждаться.
Работа с плагином Maven Artifactory:
- Добавить соответствующие
<plugin>
часть, как описано в вики на вашpom.xml
, Он включает в себя как целевой репозиторий, так и учетные данные (пожалуйста, используйте внешний источник учетных данных, например, переменные среды или системные свойства). - Бежать
mvn deploy
и наслаждайтесь не только развертыванием в Artifactory, но и дополнительными функциями, как описано ниже.
Дополнительные функции Artifactory Maven Plugin (помимо обычного развертывания Maven):
- Разрешить добавление пользовательских свойств в развернутые файлы
- Предоставить спецификацию сборки (buildInfo), позволяющую интегрировать сборку с любым сервером сборки (даже с теми, которые не поддерживаются JFrog) или даже с автономными сборками (вообще без сервера сборки).