Jenkins Groovy - 覆盖定义中的全局变量
Jenkins Groovy - overwriting global variable in definition
我在覆盖定义中的现有全局变量值时遇到问题。 jenkinsfile 的一个简单示例:
my_var = 0
def my_def() {
my_var = 1
}
node {
stage 'test'
my_def()
echo my_var
}
echo 的输出是 0,我希望它是 1。
我读了这个 post: Groovy: what's the purpose of "def" in "def x = 0"? 但我无法让它工作。
我找不到关于如何从这样的定义中 return 值的任何解释。
我相信你想使用转换。在我的脑海中,它看起来像:
@groovy.transform.Field int my_var = 0
def my_def() {
my_var = 1
}
node {
stage 'test'
my_def()
echo my_var
}
我在覆盖定义中的现有全局变量值时遇到问题。 jenkinsfile 的一个简单示例:
my_var = 0
def my_def() {
my_var = 1
}
node {
stage 'test'
my_def()
echo my_var
}
echo 的输出是 0,我希望它是 1。 我读了这个 post: Groovy: what's the purpose of "def" in "def x = 0"? 但我无法让它工作。 我找不到关于如何从这样的定义中 return 值的任何解释。
我相信你想使用转换。在我的脑海中,它看起来像:
@groovy.transform.Field int my_var = 0
def my_def() {
my_var = 1
}
node {
stage 'test'
my_def()
echo my_var
}