我有SVN repo,其中包含不同项目之间的许多代码依赖关系。 每个项目都设置为Jenkins工作。
例如,要编译项目A,我需要项目一个lib和一堆其他共享库(数百MB)。
设置Jenkins作业的架构之一是设置多个“存储库URL” - 从主干中的每个lib,然后当其中任何一个被触发时,Jenkins(实际上是插件)将仅签出此作业所需的代码。然而,我最终不得不多次拉数十亿字节的数据,因为每个工作都会通过它自己拉动所有这些共享库...而且因为它是“拉”模型而且有许多URL和许多工作我害怕它赢了'从长远来看,效果很好。
另一个想法是克隆主干然后解析更改以及触发相关工作的方式。然而,这不是KISS解决方案,它不是一个坚实的解决方案。
是否还有其他更适合此类问题的解决方案?