当布尔参数条件 API1、API2、API3 为 false 时,我想跳过 jenkins 中的阶段。下面尝试过。我收到错误不是有效的阶段部分定义:“if (params.API1== false || params.API2 == false || params.API3== false )
booleanParam(
name: 'API1',
defaultValue: false,
)
booleanParam(
name: 'API2',
defaultValue: false,
)
booleanParam(
name: 'API3',
defaultValue: false,
)
choice(
name: 'Env',
choices: [ 'uat', 'test']
)
}
stage ('docker build') {
if (params.API1 == false || params.API2 == false || params.API3 == false ) {
agent { xxxx }
when {
expression { params.Env == 'uat' || params.Env == 'test' }
}
steps
{
unstash 'xxxx'
script {
my script
}
}
}
}
你的舞台可能是这样的:
stage ('docker build') {
agent { xxxx }
when {
beforeAgent true // don't wait for agent to evaluate conditions
allOf {
expression { params.API1 == true || params.API2 == true || params.API3 == true }
expression { params.Env == 'uat' || params.Env == 'test' }
}
}
steps
{
unstash 'xxxx'
script {
my script
}
}
}