我想使用Maven生成zip格式的工件。给你一些背景;我的项目包括一个APS包(Application Packaging Standard,用于在Parallels平台上配置云应用程序)。此包是一个zip文件,包含XML和PHP文件的组合。它由Eclipse内的APS插件生成,其名称始终包含其内容的版本和发行版号。
我想要做的是生成一个带有Maven的zip文件,它将成为最终发送给客户的候选版本,不仅包括实际的APS包,还包括其他文件,如README,用户指南.pdf等;我希望此zip文件的名称包含APS包的版本号的版本号。目前我可以通过使用“mvn -Dversion = 1.2.3-4 package”之类的东西手动生成它,但我想自动化该过程,理想情况下从Jenkins运行它。
基本上,我的策略是运行一个脚本,从初始APS包中提取版本号,一旦完成,我的脚本可以调用Maven并可以将此参数传递给它,这样它就可以生成最终的zip文件。正确的版本号。这很好,但是我需要手动运行这个脚本,我正在寻找一个自动化过程。
我的问题是;是否可以从Maven中调用此脚本并使用其返回作为参数来设置运行时的版本名称(或将生成的文件的名称)?正如我所提到的,我希望詹金斯最终能够解决这个问题。它可以拿起pom文件,但我不确定它是如何“自动配置”本身才能拥有正确的版本号。
谢谢你的到来。
答案 0 :(得分:1)
从jenkins构建中,您可以使用${BUILD_NUMBER}配置文件:
<profile>
<id>jenkins</id>
<build>
<finalName>${artifactId}-${version}-${BUILD_NUMBER}</finalName>
</build>
</profile>
然后在jenkins中运行:
clean install -Pjenkins
答案 1 :(得分:0)
我使用SVN(或任何源版本控制系统)版本来识别软件构建。
只需执行此
即可REVISION=`svn info | grep '^Revision:' | sed -e 's/^Revision: //'`
在sourcers文件夹中,你在$ REVISION中获得正确的值,然后你可以将它用于你的maven构建
mvn -Dversion=1.2.3-$REVISION package
简单干净