问题描述
想要创建一个参数字段,该字段默认为当前构建号。但是,他发现将BUILD_NUMBER
环境变量赋值给参数DEPLOY_BUILD_NUMBER
似乎没有生效。即使尝试了其他方法也没有帮助。用户想知道是否有其他方法可以实现这个需求。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
你需要使用双引号而不是单引号。单引号字符串不执行字符串插值。
例如:
parameters {
string(
name: 'DEPLOY_BUILD_NUMBER',
defaultValue: "${BUILD_NUMBER}",
description: 'Fresh Build and Deploy OR Deploy Previous Build Number'
)
}
在上面的示例中,我们使用双引号将${BUILD_NUMBER}
插入到defaultValue
中。这样就可以将BUILD_NUMBER
的值赋给DEPLOY_BUILD_NUMBER
参数。
方案2
如果在读取构建参数的阶段,
BUILD_NUMBER
环境变量尚未填充,可能需要在构建步骤中获取BUILD_NUMBER
的值,并将其赋给DEPLOY_BUILD_NUMBER
参数。
以下是一个示例脚本,可以在构建步骤中获取BUILD_NUMBER
的值,并将其赋给DEPLOY_BUILD_NUMBER
参数:
steps {
script {
if (params.DEPLOY_BUILD_NUMBER == null) {
params.DEPLOY_BUILD_NUMBER = env.BUILD_NUMBER
}
}
}
在这个示例中,我们首先检查DEPLOY_BUILD_NUMBER
参数是否为空。如果为空,我们将env.BUILD_NUMBER
的值赋给DEPLOY_BUILD_NUMBER
参数。
请注意,这个解决方案假设在读取构建参数的阶段,BUILD_NUMBER
环境变量尚未填充。如果BUILD_NUMBER
环境变量已经填充,那么方案1应该可以正常工作。
正文完