jenkins - 以前构建POM的版本占位符

时间:2017-03-06 14:21:09

标签: maven jenkins build

一旦在jenkins创建了一份工作,我想创建一个参数化的构建。其中一个参数是版本,我手动设置。但在我设置它之前,我希望从上次成功构建的POM中看到项目版本作为占位符。

类似的东西:

下一个版本:

$ PREVIOUS_VERSION_AS_PLACEHOLDER

设置下一个版本

1 个答案:

答案 0 :(得分:1)

您可以添加一个系统groovy脚本,该脚本将在每次运行时更改参数的默认值。例如:

(假设您的参数名称为“PREVIOUS_VERSION_AS_PLACEHOLDER”)

import hudson.model.*
import jenkins.model.*

def job = build.getParent() // get the job object
paramsDef = job.getProperty(ParametersDefinitionProperty.class) // get the parameters definition object
if (paramsDef) {
        paramsDef.parameterDefinitions.each { param ->
            if ("PREVIOUS_VERSION_AS_PLACEHOLDER".equals(param.name)) {
                def value = <the_new_version_in_the_pom.xml_file>
                println("INFO: Changing parameter ${param.name} default value (was ${param.defaultValue}) to ${value}")
                param.defaultValue = value
            }
        }
    }