当布尔参数为 false 时,Jenkins 跳过阶段

问题描述 投票:0回答:1

当布尔参数条件 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
            }
        }
      }
    }
jenkins jenkins-pipeline jenkins-groovy
1个回答
1
投票

你的舞台可能是这样的:


    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
            }
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.