groovy - 在 Groovy 中访问闭包之外的变量

标签 groovy scope jenkins-pipeline

有没有办法,我可以访问闭包外的变量。这里的闭包是 Jenkinsfile 中的一个 stage。因此,代码段如下所示:

node('pool'){
 try{
     stage('init'){
   def list = []
  //some code to create the list
    }
     stage('deploy'){
   //use the list create in the above stage/closure
     } 

    }

  catch(err){
   //some mail step
   }

  }

使用此代码,我无法访问在第一个 stage/closure 中创建的 list

我如何设置才能让这个新创建的 list 可用于下一阶段/关闭?

最佳答案

@tim_yates.. 听取您的建议。这行得通。最后很容易:)

node('pool') {
  try {
    def list = [] //define the list outside of the closure

    stage('init') {
      //some code to create/push elements in the list
    }
    stage('deploy') {
      //use the list create in the above stage/closure
    }

  } catch (err) {
    //some mail step
  }

}

关于groovy - 在 Groovy 中访问闭包之外的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42635047/

相关文章:

java - 带框架的 Gremlin Groovy ClassCastException

Python——从该类的实例中调用与该类相同的文件中的函数?

javascript - 从事件外部调用事件内部的函数

docker - 运行单元测试 karma 脚本后 Jenkins 管道不会停止

jenkins - 如何在 Web hook URL 中动态传递 git 分支名称?

jenkins - 如何在 Jenkins 脚本管道中设置多行参数化 cron 作业?

grails - 使用HTTPBuilder池化连接

java - 如何在不更改 equals 和 hashcode 的情况下插入集合

java - JAVA单元测试如何触发KeyPressed事件

Scala:哪个隐式参数优先?定义方法时声明的那个?或者该方法在哪里被调用?