我最近一直在实施CI系统。我理解maven版本的方式是它可以是x.x.x-y-z
的形式。我们希望在我们的CI系统中安装夜间版本,并将其标记为x.x.x-y
,其中y
将在每晚构建时上升。下一个开发版本将保持为x.x.x-SNAPSHOT
。这样我们的版本号就不会像疯了一样上升,只有内置版号可以。我们可以选择一个特定的标签并将其推广到测试/ UAT /生产等。
但是,当我尝试使用x.x.x-SNAPSHOT
上的maven发布插件进行发布时,它会将下一个版本增加到x.x.x+1-SNAPSHOT
。或者我可以x.x.x-y-SNAPSHOT
这是非常难看的。
目前我们有一个python构建脚本,我们用它来实现这一目标,但很难维护。我们希望尝试转向更标准化的系统,这样我们就可以在没有版本号的情况下进行夜间构建,并且仍然可以跟踪哪个版本的代码在哪个服务器上运行。
有没有办法设置maven / Jenkins来做我所描述的?是否有更好的标准化方法来实现类似的功能?
作为一个混乱的解决方案,我正在考虑从python脚本中取出相关的块并使用Jenkins运行它们。但是,我知道必须有一种更优雅的方式来做到这一点。
编辑:我正在使用maven 3.2.1