小编Ban*_*ana的帖子

如何在从管道共享库继承的 jenkinsfile 中定义其他参数?

我想添加扩展在 Jenkins 管道中定义的全局参数的可能性。每个调用默认管道的 JenkinsFile 都有默认参数,他可以像这样自己定义参数:

@Library('mylib') _ 
generic_pipeline {

 parameters {
            choice(choices: namespaces, description: 'namespaces ?', name: 'namespaceIdChoice')
            string(defaultValue: "$BRANCH_NAME-$BUILD_NUMBER", description: 'What is the project name ?', name: 'projectName')
            }

}
Run Code Online (Sandbox Code Playgroud)

我的 generic_pipeline 是在共享库 generic_pipeline.groovy 中定义的,它们已经有这样的默认参数:

def call(Closure body) {
    def params = [:]
    body.resolveStrategy = Closure.DELEGATE_FIRST
    body.delegate = params
    body()


    pipeline {

        agent {
            label 'master'
        }

        parameters {
            string(defaultValue: "defaultParam2", description: 'What is defaultParam2 ?', name: 'defaultParam2')
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?如何为继承定义附加参数?

谢谢

jenkins jenkins-pipeline jenkins-shared-libraries

3
推荐指数
1
解决办法
1520
查看次数