Вы можете решить эту проблему, указав в параметрах номер сборки как env.BUILD_NUMBER
.Учитывая ваш пример кода, он будет выглядеть следующим образом:
parameters {
string(
name: 'DEPLOY_BUILD_NUMBER',
defaultValue: "${env.BUILD_NUMBER}",
description: 'Fresh Build and Deploy OR Deploy Previous Build Number'
)
}
Обратите внимание, что env.BUILD_NUMBER
приведен как строка (что в любом случае подходит для того, что вы хотите), но если вам нужно выполнять арифметические операции над нимнапример, тогда вам нужно будет сделать что-то вроде:
parameters {
string(
name: 'DEPLOY_BUILD_NUMBER',
defaultValue: "${env.BUILD_NUMBER.toInteger() + 1}",
description: 'Fresh Build and Deploy OR Deploy Previous Build Number'
)
}
Это будет преобразовать env.BUILD_NUMBER
в целое число, добавить его к нему, а затем спецификация string()
в параметре приведёт егоназад к строке.
Теперь, чтобы фактически использовать параметр DEPLOY_BUILD_NUMBER
, вам нужно обратиться к нему из карты params
, например params.DEPLOY_BUILD_NUMBER
.
steps {
echo "${params.DEPLOY_BUILD_NUMBER}"
script {
step ([$class: 'CopyArtifact',
projectName: '${JOB_NAME}',
filter: "*.tar.gz",
fingerprintArtifacts: true,
selector: [$class: 'SpecificBuildSelector', buildNumber: "${params.DEPLOY_BUILD_NUMBER}"]
]);
}
}