Jenkins Groovy - 覆盖定义中的全局变量



>我在覆盖定义中的现有全局变量值时遇到问题。Jenkinsfile的一个简单示例:

my_var = 0
def my_def() {
  my_var = 1
}
node {
  stage 'test'
  my_def()
  echo my_var
}

echo 的输出是 0,我希望它是 1。我读了这篇文章: Groovy:"def x = 0"中"def"的目的是什么?但我无法让它工作。我找不到有关如何从这样的定义中返回值的任何解释。

我相信你想使用transform。在我的头顶上,那看起来像:

@groovy.transform.Field int my_var = 0
def my_def() {
  my_var = 1
}
node {
  stage 'test'
  my_def()
  echo my_var
}

最新更新