Развертывание снимков и выпусков через командную строку Maven

Я хочу развернуть проекты в моем конвейере 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 сможет сделать это как-то автоматически.

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

1 ответ

Проверьте версию 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>
Другие вопросы по тегам