如何动态解析工件发布版本作为 Jenkinsfile 中的参数 defaultValue
How to dynamically resolve artifact release version as parameter defaultValue in Jenkinsfile
我正在尝试创建一个 Jenkins 多分支管道,其参数默认为从 Maven 项目中的 pom.xml 解析的下一个构建版本。我尝试的是将发布版本存储在环境变量中并插入到参数的 defaultValue 属性中,但是在 Jenkins GUI 中,我只在输入字段中得到“Null”。如果我在舞台内回显 BUILD_RELEASE_VERSION,则正确显示发布版本。
我试过的
pipeline {
agent any
environment {
BUILD_RELEASE_VERSION = readMavenPom().getVersion().replace("-SNAPSHOT", "")
}
parameters {
string(
name: "RELEASE_VERSION",
description: "Release version.",
defaultValue: "${env.BUILD_RELEASE_VERSION}")
}
.....
}
非常感谢任何有关如何正确默认为下一发行版本的建议。谢谢
可以像下面的例子那样做
def version
node {
// Icheckout the repo
checkout scm
version = sh script: 'mvn help:evaluate -Dexpression=project.version -q -DforceStdout', returnStdout: true
/*
//or read value from pom file, if you have youe own buildIn method
version = readMavenPom().getVersion().replace("-SNAPSHOT", "")
*/
}
}
pipeline {
agent any;
parameters {
string(name: 'VERSION', defaultValue: version, description: 'Current POM version')
}
stages {
stage('1') {
steps {
echo "Params : ${params}"
}
}
}
}
在第一个运行后可以在VERSION参数字段看到pom文件版本号
我正在尝试创建一个 Jenkins 多分支管道,其参数默认为从 Maven 项目中的 pom.xml 解析的下一个构建版本。我尝试的是将发布版本存储在环境变量中并插入到参数的 defaultValue 属性中,但是在 Jenkins GUI 中,我只在输入字段中得到“Null”。如果我在舞台内回显 BUILD_RELEASE_VERSION,则正确显示发布版本。
我试过的
pipeline {
agent any
environment {
BUILD_RELEASE_VERSION = readMavenPom().getVersion().replace("-SNAPSHOT", "")
}
parameters {
string(
name: "RELEASE_VERSION",
description: "Release version.",
defaultValue: "${env.BUILD_RELEASE_VERSION}")
}
.....
}
非常感谢任何有关如何正确默认为下一发行版本的建议。谢谢
可以像下面的例子那样做
def version
node {
// Icheckout the repo
checkout scm
version = sh script: 'mvn help:evaluate -Dexpression=project.version -q -DforceStdout', returnStdout: true
/*
//or read value from pom file, if you have youe own buildIn method
version = readMavenPom().getVersion().replace("-SNAPSHOT", "")
*/
}
}
pipeline {
agent any;
parameters {
string(name: 'VERSION', defaultValue: version, description: 'Current POM version')
}
stages {
stage('1') {
steps {
echo "Params : ${params}"
}
}
}
}
在第一个运行后可以在VERSION参数字段看到pom文件版本号