Я настроил конвейер jenkins, который имеет несколько строковых параметров для каждого задания.Параметры являются общими для всех работ по сборке.Я хотел бы установить эти параметры на глобальном уровне, чтобы я мог использовать их на всех этапах.Наряду с этапами у меня есть логика повторов, которая повторяется 2 раза после первого сбоя.Как только он пересекает 3 попытки сброса задания.
В данный момент я настраиваю параметры дважды, сначала в начальном триггере сборки, а затем в блоке повторных попыток.Это дублированное определение.Также в любое время параметры одинаковы для всех.
Я пытался определить параметры сверху до начала этапов, но эти параметры не используются этапами, даже если задание, определенное на этапе сборки, требует параметров.
pipeline {
agent {
label 'master'
}
parameters
{
string(name: 'VERSION', defaultValue: '', description: 'VERSION No.')
string(name: 'DEPLOY_TYPE', defaultValue: '', description: 'DEPLOY_TYPE')
string(name: 'TICKET', RELEASE: '$RELEASE', description: 'Release No.')
}
stage ("Stage1") {
steps {
script {
def retryAttempt = 0
try{
build(
job: 'Job1',
parameters: [
[
$class: 'StringParameterValue',
name: 'VERSION',
value: "${VERSION}"
],
[
$class: 'StringParameterValue',
name: 'DEPLOY_TYPE',
value: "${DEPLOY_TYPE}"
],
[
$class: 'StringParameterValue',
name: 'TICKET',
value: "${TICKET}"
]
]
)
}
catch(error) {
echo "First build failed, let's retry if accepted"
retry(2) {
build(
job: 'Job1',
parameters: [
[
$class: 'StringParameterValue',
name: 'VERSION',
value: "${VERSION}"
],
[
$class: 'StringParameterValue',
name: 'DEPLOY_TYPE',
value: "${DEPLOY_TYPE}"
],
[
$class: 'StringParameterValue',
name: 'TICKET',
value: "${TICKET}"
]
]
)
}
}
}
}
}
Я хочу использовать глобальные параметры, определенные один раз в конвейере, и использовать все параметры на всех этапах.