当前位置: 首页 > 面试题库 >

从阶段内部定义全局环境变量

尹昂雄
2023-03-14
问题内容

我在环境指令的管道顶部定义了环境变量:

    environment {
        var1 = 'sdfsdfdsf'
        var2 = 'sssssss'
    }

但是我需要在阶段中动态设置或覆盖一些内容。但是,如果我在一个阶段中使用environment
{}指令,则其他阶段将无法访问var。最初,我认为我可以在top环境指令中使用默认值定义它们,并在管道中覆盖它们,但这是我观察到的行为:

  1. 在环境块中定义var
  2. 尝试覆盖script {}块,例如: script {env.var1 = 'new value'}
  3. 该环境不会被覆盖

如何更改环境?


问题答案:

您可以按照以下步骤进行操作:

  1. 在舞台环境中定义var {env.var1 =’value’}
  2. 您可以在其他阶段访问相同的var并在环境{env.var1 =’value2’}中更改值
         pipeline {
      agent any
      environment { 
         var1 = 'value'
      }

      stages {
         stage('Initialize') {
           steps {
            script {
            echo ("value : " + env.var1)
             }
           }
        }

        stage('build') {
          environment { 
            var1 = 'value2'
           }
           steps {
            script {
              echo ("value : " + env.var1)
            }
          }
        }
      }
    } 


 类似资料:
  • 我正在开发一个詹金斯插件,我需要为詹金斯的所有工作提供一个新的环境变量。有点像Jenkins全局属性或环境变量,或者完全一样。我不确定。我只需要它对任何脚本都可用。 我已经在插件的文件的一个条目中捕获了这个环境变量的值,该文件是公开的,可以通过访问

  • 本文向大家介绍Lua中全局变量与非全局环境介绍,包括了Lua中全局变量与非全局环境介绍的使用技巧和注意事项,需要的朋友参考一下 今天来聊两个话题——全局变量和非全局环境。 正如大家目前心里所感受到的,全局变量的内容很简单,而非全局环境的内容就稍微要锻炼一下脑细胞了。 1.全局变量的原形 在Lua中,要声明全局变量很简单,那就是定义变量的时候,前面不要加上local。 这个神秘的全局变量,其实本质上

  • 我需要在我所有的idea运行配置中使用一个环境变量。我目前使用run- 我试图设置env变量在我的linux系统使用在各种会话配置文件:,,,但是intellij在运行过程中似乎忽略了这些变量,即使当我从intellij内置终端启动时,它显示了正确的输出。 我也尝试使用intellij. env文件插件,然后设置在文件在项目根。也没起作用。

  • 我们有一个预先存在的开发工具包,其中包含各种不同的JDK,我们需要这些JDK。该工具包定义了环境变量,例如指向适当目录的和。这些路径在工具包中是稳定的,但在开发人员和构建自动化机器之间并不稳定。我们用于构建自动化的构建脚本依赖于这些变量在每种情况下设置适当的JDK。Gradle最近引入了对从环境变量中检测工具链的支持,我们正在成功地使用这些工具链。 我们现在正在评估使用IntelliJ IDEA作

  • 一个朋友让我为他们做一个minecraft插件,所以我需要安装Maven。我已经按照教程的指示安装了以下用户变量。 > java_home--值:C:\program files\java\jdk1.8.0\bin windows 7 maven 2安装 当我尝试在命令Propmpt中设置它时,它会响应我,说。如何成功运行? 谢谢你的阅读。 另外,这是我的系统路径变量值:有什么问题吗?

  • 问题内容: 此代码为何起作用: 但这给出了“分配前引用的局部变量’var’”错误: 问题答案: 因为在第一个代码中,您已经创建了一个局部变量并使用了它的值,而在第二个代码中,您正在使用局部变量,而没有对其进行定义。 因此,如果要使第二个功能正常工作,则需要声明:- 在使用该功能之前。 而在此代码中: 更新 :- 但是,按照@Tim的注释,您不应在函数内部使用变量。最好在使用变量之前先定义变量,然后