我目前在我目前的工作场所任职,以改善我们的项目设置。我们有多个项目/产品,而其中一些相互依赖,而另一些则没有。
某些项目比其他项目更大,其中一个项目是如此之大,以至于它已经是monorepo。其他项目包含2到大约30个文件。
我的想法是创建一个包含所有项目(我们将其称为“ A”,“ B”,“ C”,“ D”)的monorepo。但是我发现这种方法存在多个问题:
multi-repo方法具有很大的缺点,即每次更改项目时,我都必须重新发布任何项目的程序包,这增加了发布和安装依赖项的开销。
答案 0 :(得分:-1)
它是在谈论我们在Outbrain上使用这些方法的经验。
总结了单/多仓库中的问题,并讨论了混合方法。 混合方法是说单仓库和多仓库的组合也是一种解决方案,它取决于用例。
Mono-Repo-可以快速运行,并且具有集中的位置来定义依赖项,但是在项目开始扩大规模时效果不好。
Multi-repo-为所有团队提供完全的自治权,但是很难跟踪和跟踪所有更改并更新仓库之间的依赖关系。