Jenkins构建基础参数值

时间:2017-07-21 09:03:02

标签: jenkins

说我的Jenkinsfile是这样的:

pipeline {
    agent any
    parameters {
        string(name: 'flag', defaultValue: 'stop', description: 'How should I greet the world?')
    }
    stages {
    stage('Example') {
            steps {
                checkout scm
                sh "echo \"Current Branch: ${env.BRANCH_NAME}.... \""
        sh 
           if [[ $(params.flag) == "run" ]]; then 
               echo "something"
           fi

这是失败的。内部步骤无法读取$(params.flag)。我怎样才能做到这一点??我正在使用multibranch pipeline工作类型。

1 个答案:

答案 0 :(得分:1)

它是这样的(我认为它主要是关闭的多行sh语法):

pipeline {
    agent { label 'docker' }
    parameters {
        string(name: 'flag', defaultValue: 'stop', description: 'How should I greet the world?')
    }
    stages {
        stage('Example') {
            steps {
                checkout scm
                sh "echo \"Current Branch: ${env.BRANCH_NAME}.... \""
                sh """
                    if [[ "${params.flag}" == "run" ]]; then
                        echo "something"
                    fi
                """
            }
        }
    }
}