通过 jenkins 声明管道增加 Maven 版本
incrementing maven version through jenkins declarative pipeline
我正在尝试通过 Jenkins 增加我的 pom 版本,但我面临着 Jenkins 声明管道的脚本元素的许多问题。
我的目标是:
- Jenkins 从 SCM 中提取代码
- 运行 maven 插件
- pom 中应用程序的增量版本
- 将新的 pom 合并回 SCM
我已设法从版本中删除“-SNAPSHOT”,并将版本(例如 1.0.0)存储在管道脚本元素内的一个变量中。然后我无法使用该变量来增加它。
pipeline {
agent any
tools {
maven 'maven'
}
stages {
stage ('Git checkout branch') {
steps {
git branch: 'branch', credentialsId: '****', url: 'https://projectRepo'
}
}
stage ('Increment snapshot') {
steps {
dir('directory') {
//Remove snapshot from version in pom
sh 'mvn versions:set -DremoveSnapshot'
script {
//Get the version and assign to variable 'version'
version = '$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)'
}
//content of version can only be accessed by ${version}
sh "echo ${version}"
}
}
}
}
}
我的目标是在脚本标签中获取版本,然后执行像这样的拆分 .split("\."),然后递增最后一个数字,然后,当我发布时,我将使用使用新版本更新 pom 的 maven 标志,加上 -SNAPSHOT 到版本的末尾
当你使用build-helper-maven-plugin时,你可以将版本解析成它的组件:
https://www.mojohaus.org/build-helper-maven-plugin/parse-version-mojo.html
这不仅提供 majorVersion
和 minorVersion
等元素,还提供 nextMajorVersion
、nextMinorVersion
等元素
我正在尝试通过 Jenkins 增加我的 pom 版本,但我面临着 Jenkins 声明管道的脚本元素的许多问题。 我的目标是:
- Jenkins 从 SCM 中提取代码
- 运行 maven 插件
- pom 中应用程序的增量版本
- 将新的 pom 合并回 SCM
我已设法从版本中删除“-SNAPSHOT”,并将版本(例如 1.0.0)存储在管道脚本元素内的一个变量中。然后我无法使用该变量来增加它。
pipeline {
agent any
tools {
maven 'maven'
}
stages {
stage ('Git checkout branch') {
steps {
git branch: 'branch', credentialsId: '****', url: 'https://projectRepo'
}
}
stage ('Increment snapshot') {
steps {
dir('directory') {
//Remove snapshot from version in pom
sh 'mvn versions:set -DremoveSnapshot'
script {
//Get the version and assign to variable 'version'
version = '$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)'
}
//content of version can only be accessed by ${version}
sh "echo ${version}"
}
}
}
}
}
我的目标是在脚本标签中获取版本,然后执行像这样的拆分 .split("\."),然后递增最后一个数字,然后,当我发布时,我将使用使用新版本更新 pom 的 maven 标志,加上 -SNAPSHOT 到版本的末尾
当你使用build-helper-maven-plugin时,你可以将版本解析成它的组件:
https://www.mojohaus.org/build-helper-maven-plugin/parse-version-mojo.html
这不仅提供 majorVersion
和 minorVersion
等元素,还提供 nextMajorVersion
、nextMinorVersion
等元素