如何在Jenkins Pipeline中传递相同的参数给不同的构建而不需要冗余的代码



如何在没有冗余代码的情况下将相同的参数传递给不同的构建?我不想重复这些参数。

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

相关内容

最新更新