我正在尝试将脚本管道转换为声明式管道。
这是一个 管道:
pipeline {
agent any
parameters {
string(defaultValue: '',
description: '',
name : 'BRANCH_NAME')
choice (
choices: 'DEBUG\nRELEASE\nTEST',
description: '',
name : 'BUILD_TYPE')
}
stages {
stage('Release build') {
when {
expression {params.BRANCH_NAME == "master"}
expression {params.BUILD_TYPE == 'RELEASE'}
}
steps {
echo "Executing Release\n"
}
} //stage
} //stages
} // pipeline
意图是所有参数值都需要在when
下进行比较,然后我才想执行一个阶段。
在脚本化管道中,您可以像下面的代码片段一样使用 && 。
stage('Release build') {
if ((responses.BRANCH_NAME == 'master') &&
(responses.BUILD_TYPE == 'RELEASE')) {
echo "Executing Release\n"
}
}
如何在声明式管道中从 expression
获得集体回报?
答案 0 :(得分:1)
它必须像
pipeline {
agent any
parameters {
string(defaultValue: '',
description: '',
name : 'BRANCH_NAME')
choice (
choices: 'DEBUG\nRELEASE\nTEST',
description: '',
name : 'BUILD_TYPE')
}
stages {
stage('Release build') {
when {
allOf {
expression {params.BRANCH_NAME == "master"};
expression {params.BUILD_TYPE == 'RELEASE'}
}
}
steps {
echo "Executing Release\n"
}
} //stage
} //stages
} // pipeline
您可以在 when
here