【问题标题】:jenkins - version placeholder from previous build POMjenkins - 来自先前构建 POM 的版本占位符
【发布时间】:2017-07-26 11:04:05
【问题描述】:

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

类似:


下一个版本:

$PREVIOUS_VERSION_AS_PLACEHOLDER

设置下一个版本

【问题讨论】:

    标签: maven jenkins build


    【解决方案1】:

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

    (假设您的参数名称是“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
                }
            }
        }
    

    【讨论】:

    • 它在工作开始之前工作吗?这似乎在我设置参数后会起作用。我不精通groovy,所以不知道。
    • 这是工作的一部分。这个想法是它会为下一次运行更新您的作业参数。请注意,您仍然需要从文件中读取版本并将其传递给脚本。
    猜你喜欢
    • 2021-11-12
    • 2015-09-24
    • 2016-01-02
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    相关资源
    最近更新 更多