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