pipeline parameters指令


一.簡介

參數化pipeline是指通過傳參來決定pipeline的行為。參數化讓寫pipeline就像寫函數,而函數意味着可重用、更抽象。所以,通常使用參數化pipeline來實現一些通用pipeline。

在Jenkins pipeline中定義參數使用的是parameters指令,其只允許被放在pipeline塊下

pipeline {
    agent any

    parameters {
        booleanParam(defaultValue:true, description: '',name: 'userFlag')
    }

    stages {
        stage("foo") {
            steps {
                echo "flag: ${params.userFlag}"
            }
        }
    }
}

booleanParam方法用於定義一個布爾類型的參數。接收三個參數

  • defaultValue 默認值
  • description 參數的描述信息
  • name 參數名

在定義pipeline參數后,使用被傳入的參數會放到一個名為params的對象中,在pipeline中可直接使用。params.userFlag就是引用parameters指令中定義的userFlag參數

要手動執行一次,才可以實現這個,在啟動項目后,可以進行值設置

二.類型

參數類型

string 字符串類型

parameters {
    string(name: 'DEPLOY_ENV', defaultValue: 'staging', description: '')
}

text 多行文本類型,換行使用\n

parameters {
    text(name: 'DEPLOY_TEXT', defaultValue: 'One\nTwo\nThree\n', description: '')
}

booleanParam 布爾類型

parameters {
    booleanParam(name:'DEBUG_BUILD', defaultValue:true, description:'')
}

choice,選擇參數類型,使用\n來分隔多個選項

parameters {
    choice(name:'CHOICES', choices:'dev\ntest\nstaging', description:'請選擇部署的環境' )
}

file,文件類型,用戶可上傳文件。但此類型存在bug,你無法拿到上傳后的文件,所以不推薦使用。具體看官方issue: JENKINS-27413

password 密碼類型

parameters {
    password(name:'PASSWORD', defaultValue:'SECRET', description: 'A secret password')
}

多參數

pipeline同時定義多個參數

parameters {
    booleanParam(name:'DEBUG_BUILD', defaultValue:true, description:'')
    string(name:'DEPLOY_ENV', defaultValue:'staging', description:'')
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM