开发者

Jenkins groovy if condition within steps does not work

I have the following stage in groovy script of a jenkins job":

stage('Remove servers') {
            when {
                expression { params.DO_REMOVE == true }
            }
            steps {
                script {
                    parallel RemoveSource开发者_如何转开发: {
                        sh """set -x
                            export KUBECONFIG=${source_config}                        
                            kubectl get ns ${source_namespace} || exists="False"                                                    
                        """
                        echo "${exists}"
                        if ("${exists}" != "False") {
                            build job: 'RemoveFCC',
                                parameters: [string(name: 'Branch', value: Branch),                                                                                          
                                             booleanParam(name: 'build_ansible', value: false),
                                             string(name: 'pipeline', value: 'yes')]
                        } else {
                            echo "Server does not exist. skipped fcc run"
                        }
                },
                RemoveTarget: {
                    sh """set -x
                        export KUBECONFIG=${target_config}         
                        kubectl get ns ${target_namespace} || exists="False"                                               
                    """
                    echo "${exists}"
                    if ("${exists}" != "False") {
                        build job: 'RemoveFCC',
                            parameters: [string(name: 'Branch', value: Branch),                                             
                                         booleanParam(name: 'build_ansible', value: false),
                                         string(name: 'pipeline', value: 'yes')]
                        } else {
                               echo "Server does not exist. skipped fcc run"
                        }                     
                    }
                }
            }
        }

Even though echo "${exists}" prints False the if condition is still getting executed. I am not sure what am I missing here. Tried things like adding when instead of if.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜