В groovy строки, использующие одинарные кавычки '
, не получают с интерполяцией . Вместо этого вы должны использовать двойные кавычки и использовать $
перед каждой переменной, которую хотите заменить (если вы хотите сохранить $
в строке, вам нужно экранировать ее с \
).
Для writeFile
это конвейерная команда, поэтому она работает как master на мастере jenkins, а не на узле сборки. Вот почему вы должны рассматривать это как таковое (двойные кавычки и $
).
трубопровод {
агент любой
environment {
VERSION = VersionNumber projectStartDate: '', versionNumberString: "${BUILD_YEAR}.${BUILD_MONTH}.${BUILDS_TODAY}.${BUILD_NUMBER}", versionPrefix: 'v1.', worstResultForIncrement: 'SUCCESS'
}
stages {
stage('Version Update') {
steps {
echo "${VERSION}"
writeFile file: 'version.ini', text: "$VERSION"
}
}
}
}
Примечание: я не использую плагин номера версии, поэтому я не смог протестировать этот точный код