[英]BUild artifacts names in jenkins/maven build
Jenkins的新功能。
当前,我们具有使用maven和Subversion作为SCM的手动构建过程:
在本地工作副本文件夹中,POM文件具有1.1.1-SNAPSHOT,发出mvn release:clean release:prepare -P all-modules
这将创建一个标签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全新安装-Dbuild.env = pt -DskipTests = true -P所有模块
这将以我们期望的名称创建内部版本号为1.1.1的EAR文件。
现在,我正在使用JENKINS自动化该过程,将命令#1和#3放入目标和选项中:release:clean release:prepare -P all-modules clean install -Dbuild.env = pt -DskipTests = true -P all -模块
该过程运行没有问题,但是EAR文件的名称始终为-SNAPSHOT,内部版本号为1.1.2-SNAPSHOT,而不是1.1.1。
我知道这是因为在“安装”时,POM具有1.1.2-NAPSHOT作为版本/父版本。
我该如何解决?
我设法解决与批处理命令和Perl混合。
/ f(delims =“ %% a in('perl -ne” print join('。',$ 2,$ 3,$ 4-1)for(/\\((\\d+).(\\d+).(\\d+)。 ))/)&&($。<= 20)“ pom.xml')做@set ver = %% a
svn开关https:// svn / path / to / myproject / tags / myproject-%ver% `
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.