使用 Maven 在 jenkins 上使用相同版本的多个项目

Multiprojects with the same version on jenkins with Maven

我在 3 个不同的存储库上有 3 个(实际上我有 50 多个,但让我们说 3 个以简化事情)项目:

- parentpom (only a pom.xml)
- project1 (parent=parentpom)
- project2 (dependent on project1)

我希望他们都拥有相同的版本。

我尝试使用 ${revision} 但它对我不起作用,事实上修订需要 pom.xml 的相对路径,它必须在其中查找属性的值,或者它需要将项目声明为 parentpom 的子模块。

在这两种情况下,我都需要声明相对路径才能使 ${revision} 工作,而 Jenkins 是不可能的,因为这些项目位于不同的存储库中,并且它们的 jenkins 文件夹的名称不是和项目名一样,搞得一团糟

我还想过在每个项目的 属性 中定义修订号,然后在 parentpom 版本更改时通过作业的命令行更改它。唯一的问题是当我 运行

mvn project1 -Drevision=2.2.0 install

它只是行不通,因为 Jenkins 无法从属性

解析父级中的 ${revision}

如果您对如何自动同步这些项目的版本有任何建议,我们将不胜感激

经过长时间的研究,我意识到我想要的是一个反模式,与 Maven 的工作方式相比,所以我们正在考虑将所有项目分组到几个多模块存储库中,这样我们就可以拥有一个独特的版本通过使用 ${revision}