通过jenkins-job-dsl在创建作业时构建mavenInstallation步骤

时间:2014-02-28 11:50:40

标签: maven groovy jenkins jenkins-job-dsl

我正在尝试通过jenkins-job-dsl v1.20设置一些工作,其中我有以下几行:

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版本。

所以要么我对一个时髦的问题感到困惑,要么我误解了另一件事?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好吧,我最初认为您需要将mavenInstallation(it)更改为mavenInstallation($ {it}),但由于某些原因无效。但以下工作。可能为时已晚,无法发布您的问题

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