我希望我的工件在alpha
,beta
,rc
分支构建时以feature/*
,develop
,release/*
为后缀。不应更改pom
文件中的版本。
我试过多个Maven插件,但无法找到确切的解决方案。期望pom
文件中的版本的所有插件都应更改为alpha
或beta
或rc
,但这会在合并时产生冲突。
任何其他简单的解决方案或建议来解决这个问题?
感谢。
答案 0 :(得分:1)
为什么不使用version set
:
我假设你正在使用像Jenkins这样的CI。
feature
,develop
或release
),一个用于所需的版本,另一个用于您的NEXT版本。 (当然你的方法可能不同)。alpha
,beta
或rc
。您可以在某种脚本中查看3.
。例如:当checkout分支发布时,将值CANDIDATE
设置为环境变量rc
。
mvn -q -f ${POMPATH} versions:set -DnewVersion=${CANDIDATE}-${VERSION};
如果您选择rc-1.2.0
分支且版本为release
,则您的pom中的所有版本都将设置在1.2.0
。
构建你的工件并将它们推送到你的nexus或Artifactory(或类似的东西)。之后只需执行一个新的version set
而不对之前的更改进行提交,只设置$NEXTVERSION
而没有CANDIDATE部分。
您的工件将具有名称,取决于它们构建的分支,但不会在分支上产生冲突。
当然有很多方法,我不会说你必须使用这种工作方式,但我希望它对你有用。