我正在尝试通过 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 版本。
所以要么我被一个时髦的问题绊倒了,要么我误解了另一件事?知道吗?
好吧,我最初认为您需要将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)
}
}
}
}