jenkins:无法在管道阶段定义变量

我正在尝试创建一个声明性的Jenkins管道脚本,但是简单变量声明存在问题。

这是我的脚本:

pipeline {

agent none

stages {

stage("first") {

def foo = "foo" // fails with "WorkflowScript: 5: Expected a step @ line 5, column 13."

sh "echo ${foo}"

}

}

}

但是,我收到此错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:

WorkflowScript: 5: Expected a step @ line 5, column 13.

def foo = "foo"

^

我正在使用Jenkins 2.7.4和Pipeline 2.4。

回答:

Jenkins Pipelines的Declarative模型具有受限制的语法子集,该子句允许在stage块中使用-

有关更多信息,请参见语法指南。您可以通过将步骤包装在一个script { ...}块中来绕过该限制,但是结果,您将失去对该script块内语法,参数等的验证。

以上是 jenkins:无法在管道阶段定义变量 的全部内容, 来源链接: utcz.com/qa/418090.html

回到顶部