【发布时间】:2019-10-03 02:16:09
【问题描述】:
我正在尝试通过 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("\."),然后增加最后一个数字,然后,当我发布时,我将使用 maven使用新版本更新 pom 的标志,并在版本末尾添加 -SNAPSHOT
【问题讨论】:
标签: maven jenkins jenkins-declarative-pipeline