Как вы можете передавать одни и те же параметры в разные сборки без избыточного кода в 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')]
            }
        }
    )
}

person guylifestyle    schedule 09.11.2016    source источник


Ответы (1)


Это довольно просто: просто добавьте функцию, скажем 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')]
}
person Pom12    schedule 09.11.2016