在我们的产品中,我们有多个组件(〜20),可以单独使用或相互组合使用。它们之间共有约100个库可供共享。
我们在Artifactory中使用了SVN,本地NuGet,本地柯南包以及人工制品。我们为Setup.exe项目,MSI项目,组件宿主项目(exe,winservice,桌面,Web和dll)和库提供了单独的存储库。我们正在使用功能分支开发。我们正在使用Jenkins和多分支构建。
通常,我们从创建Setup.exe项目的一个分支开始,比如说Feature-1。 Setup.exe的配置将收集中继的MSI来构成引导程序。如果功能1需要更改特定的MSI,我们将为该MSI创建功能1分支。然后,无论使用什么组件来构建,MSI都将来自主干,直到我们为其创建一个Feature-1分支并将MSI项目配置为从该分支收集输出。然后,我们继续对该建筑树的所有元素进行操作。
这是管理这些依赖关系的手动过程,某些开发人员在指出错误的分支或重新集成过程中会覆盖这些依赖关系时出错。有时会导致出现这样的情况,即正在使用针对分支的依赖关系进行配置来构建中继。
在功能分支开发中,是否有任何工具,系统或方法可用于托管多级依赖?