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

时间:2016-11-09 14:33:04

标签: jenkins-pipeline jenkins-groovy

如何在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')]
            }
        }
    )
}

1 个答案:

答案 0 :(得分:0)

这很简单:只需添加一个函数,比如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')]
}