在 jenkins/maven 构建中构建工件名称
BUild artifacts names in jenkins/maven build
詹金斯的新功能。
目前我们有使用 maven 和 Subversion 作为 SCM 的手动构建过程:
在本地工作副本文件夹中,POM文件有1.1.1-SNAPSHOT,issue
mvn release:clean release:prepare -P 所有模块
这会创建一个标签 https://avn/path/to/tag/xxx-1.1.1,而我的本地工作副本仍在 1.1.2-SNAPSHOT
问题
svn 开关 https://avn/path/to/tag/xxx-1.1.1
这会将我本地工作副本中的 POM 更新回 1.1.1
问题
mvn clean install -Dbuild.env=pt -DskipTests=true -P all-modules
这将创建名称为内部版本号 1.1.1 的 EAR 文件,正如我们预期的那样
现在我正在使用 JENKINS 自动化该过程,我将命令 #1 和 #3 放入目标和选项中:
release:clean release:prepare -P 所有模块全新安装 -Dbuild.env=pt -DskipTests=true -P 所有模块
进程运行没有问题,但 EAR 文件的名称中始终包含 -SNAPSHOT,内部版本号是 1.1.2-SNAPSHOT,而不是 1.1.1。
我知道这是因为 "install" 的时候,POM 的 version/parent 版本是 1.1.2-NAPSHOT。
我有什么出行方式?
我设法通过混合使用批处理命令和 perl 来解决问题。
for /f "delims=" %%a in ('perl -ne "print join('.',, , -1) if (/\((\d+).(\d+).(\d+))/) && ($. <= 20)" pom.xml') do @set ver=%%a
詹金斯的新功能。
目前我们有使用 maven 和 Subversion 作为 SCM 的手动构建过程:
在本地工作副本文件夹中,POM文件有1.1.1-SNAPSHOT,issue mvn release:clean release:prepare -P 所有模块
这会创建一个标签 https://avn/path/to/tag/xxx-1.1.1,而我的本地工作副本仍在 1.1.2-SNAPSHOT
问题 svn 开关 https://avn/path/to/tag/xxx-1.1.1
这会将我本地工作副本中的 POM 更新回 1.1.1
问题 mvn clean install -Dbuild.env=pt -DskipTests=true -P all-modules
这将创建名称为内部版本号 1.1.1 的 EAR 文件,正如我们预期的那样
现在我正在使用 JENKINS 自动化该过程,我将命令 #1 和 #3 放入目标和选项中: release:clean release:prepare -P 所有模块全新安装 -Dbuild.env=pt -DskipTests=true -P 所有模块
进程运行没有问题,但 EAR 文件的名称中始终包含 -SNAPSHOT,内部版本号是 1.1.2-SNAPSHOT,而不是 1.1.1。
我知道这是因为 "install" 的时候,POM 的 version/parent 版本是 1.1.2-NAPSHOT。
我有什么出行方式?
我设法通过混合使用批处理命令和 perl 来解决问题。
for /f "delims=" %%a in ('perl -ne "print join('.',, , -1) if (/\((\d+).(\d+).(\d+))/) && ($. <= 20)" pom.xml') do @set ver=%%a