Я использую плагин Nexus Artifact Uploader в Jenkins для загрузки артефактов в мой репозиторий Nexus. Мой пиплейн выглядит так:
stage('Publish') {
def pom = readMavenPom file: 'pom.xml'
nexusArtifactUploader artifacts: [[artifactId: "${pom.artifactId}",
classifier: '',
file: "target/${pom.artifactId}-${pom.version}.${pom.packaging}", type: 'jar']],
credentialsId: env.NEXUS_CREDENTIALS_ID,
groupId: "${pom.groupId}",
nexusUrl: env.NEXUS_URL,
nexusVersion: env.NEXUS_VERSION,
protocol: env.NEXUS_PROTOCOL,
repository: env.NEXUS_REPOSITORY_SNAPSHOTS,
version: "${pom.version}"
}
Он работает отлично. Но каждый раз, когда я запускаю конвейер, он создает новую банку в нексусе с другой отметкой времени. То, что я хочу, это заменить банку, если уже есть баночка с тем же groupId, artifactId и версией.
Моя структура каталогов nexus выглядит следующим образом (учитывая, что у моего pom есть это
<groupId>ab.cd</groupId>
<artifactId>api-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
)
ab
|-cd
|--api-service
|---0.0.1-SNAPSHOT
|----0.0.1-<date>-215249-1
|----0.0.1-<date>-220739-2
.......
.......
Я хочу знать, является ли это нормальным поведениемNexus, чтобы сохранить его в этом будущем. Или я что-то здесь упускаю.
Также возможно ли сохранить только последнюю банку, а не все предыдущие?