微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jenkinsfile:一次定义并为多个变量赋值似乎没有实现

我在Red Hat Linux上使用Jenkins 2.6.我想在我的Jenkins文件中使用以下内容,但是当我尝试时,Jenkins痛苦地抱怨道. (似乎只是不喜欢=运算符左侧的语法.):

def (a,b) = [6,7]

它似乎不喜欢Multiple Assignments,但Groovy 1.6及更高版本显然支持它们,根据这篇文章

http://mrhaki.blogspot.co.uk/2009/09/groovy-goodness-multiple-assignments.html

我想这样做,以便当我调用返回[6,7]的方法时,我可以像这样调用它:

def (a,b) = mymethod()

def mymethod()
{
    return [6,7]
}

任何人都可以告诉我这是否适用于Jenkins,如果是这样,Jenkins的版本是什么?或者它是不受支持功能?还是个bug?

谢谢

解决方法

正如 here所解释的那样,管道“脚本”不是简单的Groovy脚本,它们在运行之前被大量转换,主机上的某些部分,从机上的某些部分,其状态(变量值)被序列化并传递到下一步.因此,不支持每个Groovy功能.

我希望Jenkins docs& amp;演示文稿(这就是为什么我发现自己重复上面的段落……对此有很多困惑).管道很简单似乎很神奇……好吧,它有点像;)

似乎确实不支持多项任务.我只找到了这个引用来确认它:this example of a commit,由于这个限制,作者将他的代码从多个赋值改为简单赋值.

根据@rjohnston的建议,在邮件列表上提出要求可能是个好主意.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐