在 Jenkins 中没有获取版本号插件值
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 来打印版本号,但它总是在 echo 中打印什么,在 writeFile 步骤中打印文本。 (例如 %VERSION%)
我可以在侧面菜单中看到我使用的格式的版本。
在 groovy 中,使用单引号 '
的字符串不会得到 interpolated。您应该改用双引号,并在要替换的每个变量前使用 $
(如果您想在字符串中保留 $
,则需要使用 \
对其进行转义).
对于 writeFile
它是一个管道命令,因此它在 jenkins master 而不是构建节点上作为 groovy 运行。这就是为什么您需要这样对待它(双引号和 $
)。
管道{
代理任何
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"
}
}
}
}
注意:我没有使用版本号插件,所以我无法测试这个确切的代码
我在 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 来打印版本号,但它总是在 echo 中打印什么,在 writeFile 步骤中打印文本。 (例如 %VERSION%)
我可以在侧面菜单中看到我使用的格式的版本。
在 groovy 中,使用单引号 '
的字符串不会得到 interpolated。您应该改用双引号,并在要替换的每个变量前使用 $
(如果您想在字符串中保留 $
,则需要使用 \
对其进行转义).
对于 writeFile
它是一个管道命令,因此它在 jenkins master 而不是构建节点上作为 groovy 运行。这就是为什么您需要这样对待它(双引号和 $
)。
管道{
代理任何
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"
}
}
}
}
注意:我没有使用版本号插件,所以我无法测试这个确切的代码