如何使用Maven / hudson一次性处理多个版本

时间:2014-04-07 07:25:13

标签: maven hudson

我们有超过250个应用程序,大多数应用程序依赖于通用/通用(大约30个)组件。

如果公共组件有任何变化,那么我们必须使用Maven释放所有/大多数组件。这是一项非常痛苦的任务。

有什么方法可以避免这种情况。我们是否需要更改应用程序的设计或maven为此提供任何解决方案,还是Hudson中有任何解决方案,我们可以通过它来安排构建来执行此操作。

对此的任何输入都会非常有用。

1 个答案:

答案 0 :(得分:1)

您可以查看可能与Jenkins一起使用的Cascade Release Plugin

但是,你应该关注你的工作流程:

每个应用程序是否都需要最新的通用组件现在?也许将它们包括在下一个常规版本中就足够了吗?

这样,你就可以转变责任。所以说你的组件确实做了一个发布。下次构建应用程序时(使用SNAPSHOTs进行常规Nightly构建),构建过程会通知负责的开发人员/发布管理器,以确定应用程序是否存在新版本的common。

发布经理现在可以决定其应用程序是否需要功能/更新。您甚至可以让nightly构建自动将依赖项更新为common(使用versions-maven-plugin

重点是:由于常见的更新,我会强烈反对自动更新和释放应用程序。这将在两个项目之间建立强大的耦合。如果需要,请自动执行更新,但让应用程序开发人员/发布经理决定何时发布。

当然,如果共同变化至关重要,可能需要立即释放。