我使用maven / hudson来构建我的项目。 hudson运行的目标之一是mvn包,所以我在每个构建中都有完整的分发。有没有办法(可能是包的参数?)我可以将内部版本号附加到生成的存档名称上吗?
感谢,
杰夫
答案 0 :(得分:2)
尝试以下方法。它应该仅在设置了BUILD_NUMBER属性时激活,因此在不使用hudson时仍然会生成正确命名的构建。
<profiles>
<profile>
<id>hudson-build</id>
<activation>
<property>
<name>BUILD_NUMBER</name>
</property>
</activation>
<build>
<finalName>${artifactId}-${version}-${BUILD_NUMBER}</finalName>
</build>
</profile>
</profiles>
我建议将其放入一个基本的pom.xml中,然后可以将其作为其他pom.xml配置的父级引用。
有关hudson传递给maven版本的其他属性的列表,请参阅http://weblogs.java.net/blog/johnsmart/archive/2008/03/using_hudson_en.html。
答案 1 :(得分:1)
您可以使用-D[key]=[value]
将任意属性传递给Maven构建,例如-DbuildNumber=1234
,然后将您的pom中的版本配置为“1.0.0 - $ {buildNumber}。然而,这种方法违背了一般的Maven原则。你最好使用Maven的SNAPSHOT处理。 SNAPSHOT是Maven每次更新依赖关系的关键字。
您还可以使用buildnumber-maven-plugin每次自动为构建版本添加一个数字。有关详细信息,请参阅此answer。 buildnumber插件可以设置为根据SCM修订版,时间戳或序列生成修订版。