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