在 Jenkins Pipeline 中,如何在没有冗余代码的情况下将相同的参数传递给不同的构建

How can you pass same parameters to different builds without redundant code in Jenkins Pipeline

如何在 Jenkins Pipeline groovy 中将相同的参数传递给不同的构建而没有冗余代码。我不想重复参数。

node('master') {
    parallel(
        "stream 1(X)" : {
        stage('X') {
            build 'Job1', parameters: [string(name: 'branch', value: 'trunk'), string(name: 'freq', value: 'Continuous')]
        }
        },
        "stream 2 (Y)" : {
            stage('Y') {
                build 'Job2', parameters: [string(name: 'branch', value: 'trunk'), string(name: 'freq', value: 'Continuous')]
            }
        }
    )
}

这很简单:只需添加一个函数,比如 buildJob,它将您的作业名称作为参数,然后像现在一样设置所有作业参数:

node('master') {
    parallel(
        "stream 1(X)" : {
        stage('X') {
            buildJob("Job1")
        }
        },
        "stream 2 (Y)" : {
            stage('Y') {
                buildJob("Job2")
            }
        }
    )
}

def buildJob(jobName) {
    build name: jobName, parameters: [string(name: 'branch', value: 'trunk'), string(name: 'freq', value: 'Continuous')]
}