Развертывание снимков и выпусков через командную строку Maven - PullRequest
0 голосов
/ 26 сентября 2018

Я хочу развернуть проекты в моем конвейере CI / CD без использования блока distributionManagement внутри моего pom, который будет выглядеть следующим образом:

<distributionManagement>
    <repository>
        <id>central</id>
        <name>x-releases</name>
        <url>http://serverhostname/artifactory/libs-release-local</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <name>x-snapshots</name>
        <url>serverhostname/artifactory/libs-snapshot-local</url>
    </snapshotRepository>
</distributionManagement>

Я попытался указать репозитории через командную строку:

-DaltSnapshotDeploymentRepository=myserver::default::serverhostname/artifactory/libs-snapshot-local \
-DaltReleaseDeploymentRepository=myserver::default::serverhostname/artifactory/artifactory/libs-release-loca

Но с ошибкой

Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter

Указание -DaltDeploymentRepository позволяет мне развернуть артефакт в репозитории, но я не уверен, как больше различать SNAPSHOT и RELEASE.Я думал, что maven сможет сделать это как-то автоматически.

Какие параметры командной строки использовать для замены этого блока distributionManagement?

1 Ответ

0 голосов
/ 20 октября 2018

Проверьте версию maven-deploy-plugin.

Я использовал версию 2.7 и получал ту же ошибку, но обновился до 2.8.2 и сборка была успешно завершена.

Вот зависимость:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.8.2</version>
</plugin>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...