Что требуется для использования maven для развертывания артефактов?
Я настраиваю систему CI с архивом репозитория на основе Apache Archiva. Среди различных методов развертывания файлов наиболее перспективным представляется использование maven (в отличие от REST API, которое потребовало бы слишком много curl
звонки и веб интерфейс, который не для автоматизации).
Похоже, что для развертывания артефакта, такого как zip-архивы артефактов сборки, в maven есть следующий плагин: deploy: deploy-file. Однако попытка просто вызвать эту команду не дала мне никаких результатов.
Я не работал с Maven раньше; в настоящее время наши сборки выполняются путем вызова cmake
в исходном каталоге, затем make
из сценария оболочки. Что мне нужно добавить и уметь использовать maven для развертывания полученного артефакта?
Нужно ли создавать файл pom? Если да, какие шаги мне нужно добавить?
3 ответа
Ты можешь использовать deploy:deploy-file
загрузить эти артефакты, и по умолчанию он сгенерирует POM для вас. Что вам нужно, это:
- установить Maven
- создать
settings.xml
файл, с<server>
элемент, содержащий учетные данные для развертывания в Archiva по HTTP
Здесь немного больше информации: http://maven.apache.org/plugins/maven-deploy-plugin/usage.html. Если вы генерируете POM, то вам нужно будет предоставить groupId
(четкая группировка артефактов), artifactId
(имя файла без версии), version
(версия артефакта), и packaging
(обычно расширение, такое как zip
) параметров вместе с необходимыми repositoryId
, url
а также file
,
Однако не обязательно использовать Maven или REST API - вы также можете просто использовать простой вызов HTTP PUT:
curl -T artifact.zip http://localhost:8080/archiva/repository/my-releases/group/artifact/version/artifact-version.zip
Вы также можете использовать scp, ftp и т. Д., Чтобы поместить файл непосредственно в файловую систему Archiva. Обратите внимание, что в этом случае вам придется подождать, пока запланированное сканирование Archiva подберет его.
Да, необходимо иметь pom.xml в maven, и также очевидно, что вам нужно установить maven на ваш компьютер. Как минимум, вам нужно предоставить идентификатор артефакта (например, имя jar), идентификатор группы (например, пакет для определения местоположения артефакта в хранилище) и версию. По умолчанию структура пакета будет jar, если вы не укажете это как war/ear/pom. Если вы хотите использовать какие-либо зависимости, вы можете упомянуть их в разделе зависимостей.
Ниже приведен минимальный необходимый пом.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Maven Quick Start Archetype</name>
</project>
Вот краткое руководство по знакомству с Maven.