2016-10-20 1 views
0

나는 다음과 같은 그루비 스크립트했습니다 :반복되는 빌드 작업 구문을 단순화하는 방법은 무엇입니까?

node { 
    stage('Testing') { 
     build job: 'Test', parameters: [string(name: 'Name', value: 'Foo'), string(name: 'Param1', value: Param1), string(name: 'Param2', value: Param2), string(name: 'Param3', value: Param3), string(name: 'Param4', value: Param4), string(name: 'Param5', value: Param5)], quietPeriod: 2, wait: false 
     build job: 'Test', parameters: [string(name: 'Name', value: 'Bar'), string(name: 'Param1', value: Param1), string(name: 'Param2', value: Param2), string(name: 'Param3', value: Param3), string(name: 'Param4', value: Param4), string(name: 'Param5', value: Param5)], quietPeriod: 2, wait: false 
     build job: 'Test', parameters: [string(name: 'Name', value: 'Baz'), string(name: 'Param1', value: Param1), string(name: 'Param2', value: Param2), string(name: 'Param3', value: Param3), string(name: 'Param4', value: Param4), string(name: 'Param5', value: Param5)], quietPeriod: 2, wait: false 
     // ... 
    } 
} 

젠킨스 여러 매개 변수 작업을 실행하는 것을 목표로하고있다. 다른 매개 변수로 실행하는 작업이 많기 때문에 동일한 구문을 반복하지 않고 매개 변수를 한 번 정의하고 다시 사용하지 않는 것이 좋습니다.

첫 번째 이름이이고 나머지는 동일합니다. 동일한 코드를 반복하지 않고 같은 매개 변수 (Param1 - Param5)를 다시 사용할 수 있습니까?

어떻게 달성 할 수 있습니까?

답변

2

당신이 할 수있는 간단한 방법 :

node { 
    stage('Testing') { 
     buildJob('Foo') 
     buildJob('Bar') 
     buildJob('Baz') 
     // ... 
    } 
} 

def buildJob(name) { 
    build job: 'Test', parameters: [string(name: 'Name', value: name), string(name: 'Param1', value: Param1), string(name: 'Param2', value: Param2), string(name: 'Param3', value: Param3), string(name: 'Param4', value: Param4), string(name: 'Param5', value: Param5)], quietPeriod: 2, wait: false 
} 
관련 문제