0

我正在尝试通过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 版本。

所以要么我是因为一个时髦的问题而绊倒,还是我误解了另一件事?任何想法?

4

1 回答 1

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)
      }
    }
}
}
于 2014-09-17T20:16:57.297 回答