Ваша сборка не удалась, потому что вы указали жестко закодированное значение для nexusArtifactUploader
параметра файла (и то же самое для параметра версии):
file: 'C:/Program Files (x86)/Jenkins/workspace/Pipeline/target/common-0.4-SNAPSHOT.jar'
Вместо этого вам нужно использовать динамическую версию, как в этом примере:
nexusArtifactUploader(
nexusVersion: 'nexus3',
protocol: 'http',
nexusUrl: 'my.nexus.address',
groupId: 'com.example',
version: version,
repository: 'RepositoryName',
credentialsId: 'CredentialsId',
artifacts: [
[artifactId: projectName,
classifier: '',
file: 'my-service-' + version + '.jar',
type: 'jar']
]
)
Также вы можете использовать Плагин Nexus Platform , см., Например, этот ответ. ${pom.version}
используется там, и он читается прямо из файла pom.xml
.
Так что вам не нужно увеличивать или передавать версию вручную, просто используйте команду:
def pom = readMavenPom file: 'pom.xml'
И тогда вы можете указать свой файл как:
"target/${pom.artifactId}-${pom.version}.${pom.packaging}"
Кроме того, существует другой способ автоматического изменения версии артефакта, указав его как ${env.BUILD_NUMBER}
в конвейере Jenkins, а затем передайте его в качестве параметра команде mvn
. Например, как в этом ответе.