我在覆盖定义中的现有全局变量值时遇到问题。一个简单的jenkins文件示例:
my_var = 0
def my_def() {
my_var = 1
}
node {
stage 'test'
my_def()
echo my_var
}
echo的输出为0,我希望它为1。 我读过这篇文章:Groovy: what's the purpose of "def" in "def x = 0"?但我无法使其发挥作用。 我无法找到如何从这样的定义中返回值的任何解释。
答案 0 :(得分:2)
我相信你想要使用变换。在我的头顶,这看起来像:
@groovy.transform.Field int my_var = 0
def my_def() {
my_var = 1
}
node {
stage 'test'
my_def()
echo my_var
}