[英]Not getting version number plugin value in Jenkins
我在Jenkins中為我的項目的管道作業使用了聲明式管道語法。 我想用
pipeline {
agent any
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%'
}
}
}
}
我試過$ {VERSION},%VERSION來打印版本號,但是它總是打印回顯內的內容,writeFile步驟內的文本。 (例如,%VERSION%)
我可以在側面菜單中以所使用的格式查看版本。
在常規中,使用單引號'
字符串不會被插值 。 您應該改為使用雙引號,並在要替換的每個變量前面使用$
(如果要將$
保留在字符串中,則需要使用\\
對其進行轉義)。
對於writeFile
來說,這是一個管道命令,因此它在詹金斯主服務器上而不是在構建節點上以常規方式運行。 這就是為什么您需要這樣對待它(雙引號和$
)。 管道{代理任何
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"
}
}
}
}
注意:我不使用版本號插件,因此無法測試此確切代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.