Maven / Jenkins - 项目和依赖项的自动发布

时间:2015-02-04 16:41:42

标签: maven jenkins

我正在maven项目中工作,在多个级别上有几个依赖项,每次执行主项目的发布时,我们都必须手动创建大量的二级版本。我会试着解释一下情况。 我的方案如下:

项目A

  1. 依赖关系B.
    • 依赖性E
    • 依赖关系F.
      • 依赖G
  2. 依赖关系C.
    • 依赖关系G.
      • 依赖性H
  3. 依赖D
  4. 每个依赖项都是一个独立的maven项目,它在项目中存在很多依赖项级别。如果您修改了一些依赖关系代码G,并且您打算生成项目A版本,则必须:

    1. 生成项目G的发布
    2. 更新项目F上的依赖关系G版本
    3. 生成项目F
    4. 的发布
    5. 更新项目B上的依赖关系F版
    6. 生成项目B的发布
    7. 更新项目A的依赖关系B版本
    8. 生成项目A的发布
    9. 我的目的是使这个过程自动化。谷歌搜索了几天后,我没有发现任何类似的问题。

      您是否可以在某种解决方案中考虑自动化级联生成版本的任务? 我正在考虑基于maven和Jenkins任务的解决方案,但它看起来非常复杂。

2 个答案:

答案 0 :(得分:0)

也许您可以使用Build Flow pluginMaven Release plugin的组合来发布您的Maven项目。

Build Flow插件将帮助您设计构建序列(并尊重您的项目依赖性)。

这只是一个想法,我没有测试过这个解决方案。

答案 1 :(得分:0)

在Jenkins中,您可以使用不同的存储库下载并进行构建,在这种情况下,您将执行发布。希望您使用 maven-release-plugin 。因此,您可以使用此jenkins的功能下载您提到的所有项目,并从包含每个项目作为模块的repo创建或下载pom.xml文件(只是为了实现您的目标)。

jenkins工作空间中的结构应如下所示:

  • pom.xml
  • moduleA     pom.xml
  • moduleB     的pom.xml
  • moduleC     的pom.xml

我的建议是在需要时将它们分组到存储库中。