jenkins / maven build中的BUild工件名称

时间:2015-04-07 21:46:29

标签: maven svn jenkins build

詹金斯的新作品。

目前我们使用maven和Subversion作为SCM进行手动构建过程:

  1. 在本地工作副本文件夹中,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

  2. 问题 svn switch https://avn/path/to/tag/xxx-1.1.1

    这会将我本地工作副本中的POM更新回1.1.1

  3. 问题 mvn clean install -Dbuild.env = pt -DskipTests = true -P all-modules

    这将在我们预期的名称中创建内部版本号为1.1.1的EAR文件

  4. 现在我使用JENKINS自动化过程,我将命令#1和#3放入目标和选项中: release:clean release:prepare -P all-modules clean install -Dbuild.env = pt -DskipTests = true -P all-modules

    该过程运行没有问题,但EAR文件的名称始终为-SNAPSHOT,内部版本号为1.1.2-SNAPSHOT,而不是1.1.1。

    我知道这是因为“安装”的时间,POM的版本/父版本都有1.1.2-NAPSHOT。

    我可以绕过的方式是什么?

1 个答案:

答案 0 :(得分:0)

我设法使用batch命令和perl的混合方法进行解决。

for / f" delims =" %% a in(' perl -ne" print join('。',$ 2,$ 3,$ 4-1)if(/\((\d+).(\d+) )。(\ d +))/)&&($。< = 20)" pom.xml')做@set ver = %% a

svn switch https://svn/path/to/myproject/tags/myproject-%ver%`