Задача: деплоить результаты билда Maven в JFrog Artifactory.
Пример с выполняется плагином maven-deploy-plugin
, но для некоторых случаев может пригодиться плагин artifactory-maven-plugin
.
Пример ошибки без настроек деплоя вообще:
$ mvn clean deploy ... [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project parent: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1] ...
Редактируем корневой pom.xml
, добавляем настройки для maven-deploy-plugin
:
<distributionManagement> <repository> <id>engineering</id> <name>my-proj-releases</name> <url>https://my-proj.artifactoryonline.com/my-proj/snapshots-local</url> </repository> <snapshotRepository> <id>my-proj</id> <name>my-proj-snapshots</name> <url>https://my-proj.artifactoryonline.com/my-proj/snapshots-local</url> </snapshotRepository> </distributionManagement>
Отдельно создаём файл maven-settings.xml
(или прописываем в ~/.m2/settings.xml
) с настройками доступа:
<?xml version="1.0" encoding="UTF-8"?> <settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <servers> <server> <id>my-proj</id> <username>someuser</username> <password>somepass</password> </server> </servers> </settings>
Ещё раз запускаем билд и деплой:
$ mvn clean deploy ... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------
Готово.