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

Jenkins Groovy-覆盖定义中的全局变量,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,我在覆盖定义中现有的全局变量值时遇到问题。Jenkins文件的一个简单示例: my_var = 0 def my_def() { my_var = 1 } node { stage 'test' my_def() echo my_var } echo的输出是0,我希望它是1。 我读了这篇文章:但我不能让它工作。 我找不到关于如何从这样的定义返回值的任何解释。我相信您想要使用transform。在我的头顶上,那看起来像: @groovy.transform.Field int

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

my_var = 0

def my_def() {
  my_var = 1
}

node {
  stage 'test'
  my_def()
  echo my_var
}
echo的输出是0,我希望它是1。 我读了这篇文章:但我不能让它工作。
我找不到关于如何从这样的定义返回值的任何解释。

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

@groovy.transform.Field int my_var = 0

def my_def() {
  my_var = 1
}

node {
  stage 'test'
  my_def()
  echo my_var
}

太好了,对我有用。谢谢
@groovy.transform.Field int my_var=0 def my_def(){my_var=1}节点{stage'test'my_def()echo“输出:“+my_var}