共享库中的参数化Jenkins作业调用参数化声明性管道吗?

时间:2018-11-12 19:32:32

标签: jenkins jenkins-pipeline jenkins-declarative-pipeline

我在vars/pipeline.groovy内部的函数中声明了以下声明性管道:

def call(Map pipelineParams)
{
pipeline {
    agent any
    environment { }
    stages {
        stage('stageA') {
            steps {
                ... Do something with arg1, arg2 or arg3
            }
        }
        stage('stageB') {
            steps {
                ... Do something with arg1, arg2 or arg3
            }
        }
        ...
    }
}
}

我有几个job / Jenkinsfiles,它们以以下变化(全部带有预定义/硬编码参数)调用此共享库管道:

@Library('shared-libs') _
pipeline(arg1: "...", arg2: "...")

如果我想要一个参数化的job / Jenkinsfile,它可以使用调用者提供的参数来调用pipeline(...),那么最好的方法是什么?

例如,我正在寻找这样的东西:

@Library('shared-libs') _

parameters
{
    String(name: "arg1", defaultValue: "")
    String(name: "arg2", defaultValue: "")
}

pipeline(arg1: params.arg1, arg2: params.arg2)

0 个答案:

没有答案