如何在Jenkins Job DSL中生成增量Maven构建?

时间:2016-02-09 11:11:28

标签: jenkins-job-dsl

我试图在Advanced...下生成我的Jenkins Maven工作中出现的内容

Incremental build - only build changed modules

这是一个直接位于<maven2-moduleset>内的XML节点。

我在API中找不到它,所以我想我会使用configure,但我无法弄明白。根据我的理解,这应该有效:

mavenJob('foo') {
  rootPOM('foo/pom.xml')
  goals('clean package')
  configure { node ->
    node {
      incrementalBuild('true')
    }
  }
}

然而,我得到一个例外:

groovy.lang.MissingMethodException: No signature of method: groovy.util.Node.call() is applicable for argument types: (Generator$_run_closure1_closure14_closure16) values: [Generator$_run_closure1_closure14_closure16@1f7d8eff]
Possible solutions: wait(), name(), value(), any(), wait(long), any(groovy.lang.Closure)

我做错了什么?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您必须使用配置块中的/运算符来创建或更新元素,请参阅Job DSL wiki中的Transforming XML

mavenJob('foo') {
  rootPOM('foo/pom.xml')
  goals('clean package')
  configure { node ->
    node / incrementalBuild(true)
  }
}