首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jenkins中将动态变量设置为全局变量?

问如何在jenkins中将动态变量设置为全局变量?
EN

Stack Overflow用户
提问于 2017-04-19 07:42:36
回答 2查看 6.7K关注 0票数 1

我需要设置一个全局变量,其值为build_{BUILD_NUMBER}(jenkins全局变量),它是动态的。如何在jenkins全局属性中设置此属性?它如何识别我所指的内部版本号?

EN

回答 2

Stack Overflow用户

发布于 2017-04-19 07:57:07

使用声明性管道,您可以基于另一个环境变量(BUILD_NUMBER)设置一个环境变量,如下所示:

代码语言:javascript
复制
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}"
      }
    }
  }
}

生成如下输出:

代码语言:javascript
复制
[Pipeline] echo
MY_BUILD_IDENTIFIER: build_153
票数 1
EN

Stack Overflow用户

发布于 2017-04-19 11:25:41

以下是一个示例脚本,说明如何更改全局环境变量:

代码语言:javascript
复制
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://gist.github.com/johnyzed/2af71090419af2b20c5a

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43483958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档