我们使用Bamboo 6.6构建了许多相关的Java Maven项目,其结构如下:
-1 CORE-> N个扩展->聚合捆绑包
因此,我们有一个核心组件的构建,然后有N个扩展的构建 它们是根据核心api(由不同团队管理)编译的,然后是一个生成生成捆绑包的构建,该捆绑包汇总所有扩展(它们在捆绑包的pom.xml中定义)和核心组件及其配置,以生成可执行文件。
我们正在使用Bamboo来以一种不太令人满意的方式构建它:目前,唯一自动化的部分是核心和包之间的依赖关系(因此修改核心将触发构建包,并且该构建将与刚刚构建的内核版本相反。
但是,只要内核发生代码更改,我们就不会自动重新编译插件,这是我们想做的事情,我们也没有办法使bundle依赖于插件,因此只能在核心和所有插件都已重建(我也想使用最新构建的工件版本...)。
如果有人可以在Bamboo中提供有关如何自动化这样的管道(基础项目,依赖项,依赖于基础的项目以及其他依赖项)的任何建议,我将感到非常高兴,这样我们就可以确保对基础的更改刷新所有依赖项并生成我们捆绑包的构建(在重新编译所有依赖项之后,生成一个捆绑包)。我们将所有工件部署到一个Maven仓库中,因此我们不需要复制依赖关系(我们现在必须使用要使用的版本来传递version.txt文件,因为Bamboo似乎不允许在两个之间传递变量。相关项目)。