将jenkins stage放入函数定义中出错



我正在使用脚本管道,并试图将我的舞台内的函数如下。

node{
if(value=="true")
{
def func(){
stage ('first stage')
}
}      
fun() #calling it here. 
}

它不工作。它说这里不需要方法定义

这里不需要方法定义。请在下面定义方法

。如何做到这一点?当管道在特定节点上运行时,不可能定义外部节点块。

不执行舞台,您可以从函数返回舞台配置。请参考以下内容。

node {
stage('Stage 1') {
echo "This stage executed always"
}
def value = true
// Lets execute stage 2
if(value == true) {
generateStage("Stage 2").call()
}

stage('Stage3') {
echo "Stage 3"
}
}
def generateStage(name) {
return {
stage("Stage ${name}") {
echo "Stage ${name}"
}
}
}

最新更新