我需要设置一个全局变量,其值为build_{BUILD_NUMBER}(jenkins全局变量),它是动态的。如何在jenkins全局属性中设置此属性?它如何识别我所指的内部版本号?
发布于 2017-04-19 07:57:07
使用声明性管道,您可以基于另一个环境变量(BUILD_NUMBER)设置一个环境变量,如下所示:
pipeline {
agent { label 'docker' }
environment {
MY_BUILD_IDENTIFIER = "build_${env.BUILD_NUMBER}"
}
stages {
stage('hot_stage') {
steps {
echo "MY_BUILD_IDENTIFIER: ${env.MY_BUILD_IDENTIFIER}"
}
}
}
}生成如下输出:
[Pipeline] echo
MY_BUILD_IDENTIFIER: build_153发布于 2017-04-19 11:25:41
以下是一个示例脚本,说明如何更改全局环境变量:
nodes = Jenkins.instance.globalNodeProperties
nodes.getAll(hudson.slaves.EnvironmentVariablesNodeProperty.class)
if ( nodes.size() != 1 ) {
println("error: unexpected number of environment variable containers: ${nodes.size()}, expected: 1")
} else {
envVars = nodes[0].envVars
envVars[args[0]] = args[1]
Jenkins.instance.save()
println("okay")
}https://stackoverflow.com/questions/43483958
复制相似问题