2014-02-28 7 views
0

내가 다음 줄이 jenkins-job-dsl v1.20를 통해 설치로 작업의 몇 가지를 시도하고있다 :빌드 젠킨스 - 직업 - DSL을 통해 일자리를 만드는 mavenInstallation 단계

def existingMavenInstallations = [ "Maven 2.0.11", "Maven 2.2.1", "Maven 3.0.5", "Maven 3.1.0", "Maven 3.1.1" ] 

job { 

    name 'WhatEverName' 

    jdk (...) 

    steps { 
     existingMavenInstallations.each { 
      maven { 
       mavenInstallation(it) 
       goals("-B -Prun-its clean verify") 
       localRepository(LocalToWorkspace) 

      } 
     } 
    } 
} 

문제는이다 나의 일 것이다 적절한 단계로 생성 할 수 있지만 Maven 설치는 항상 "기본값"입니다. Jenkins의 드롭 다운 상자는 위의 값으로 선택 될 수 있으며 적절한 Maven 버전이 설치되어 사용 가능합니다.

그래서 나는 그루비 문제에 걸려 넘어 지거나 다른 것을 오해하니? 어떤 생각?

답변

0

처음에는 mavenInstallation(it)을 mavenInstallation ($ {it})으로 변경해야한다고 생각했지만 어떤 이유로 작동하지 않았습니다. 그러나 다음과 같은 작업을 수행합니다. 5 월까지 게시 할 수 있음

def existingMavenInstallations = [ "Maven 2.0.11", "Maven 2.2.1", "Maven 3.0.5", "Maven 3.1.0", "Maven 3.1.1" ] 

job { 
name 'WhatEverName' 

jdk (...) 

steps { 
    for(int i=0; i < existingMavenInstallations.size(); i++) { 
     maven { 
      mavenInstallation("${existingMavenInstallations.get(i)}") 
      goals("-B -Prun-its clean verify") 
      localRepository(LocalToWorkspace) 
     } 
    } 
} 
}