Appearance

Monorepo架构

Pcjmy2024-02-13前端工程化前端工程化

Monorepo架构

什么是Monorepo

Monorepo是一种代码组织思想,它要求我们只用一个代码仓库来管理一个大项目的所有资源、子项目。简单来说以前放在多个repo 里的代码现在就放在一个repo 就行了。

Multirepo(传统多repo项目)会将一个项目按照职责、业务模块进行拆分,然后创建不同的代码仓库进行管理。不同的团队可以专注于负责某一个代码仓库代码提交、编译、发布。

Monorepo的收益

  • 工作流的一致性:由于所有的项目放在一个仓库当中,复用起来非常方便,如果有依赖的代码变动,那么用到这个依赖的项目当中会立马感知到。并且所有的项目都是使用最新的代码,不会产生其它项目版本更新不及时的情况。
  • 项目基建成本的降低:所有项目复用一套标准的工具和规范,无需切换开发环境,如果有新的项目接入,也可以直接复用已有的基建流程,比如 CI 流程、构建和发布流程。这样只需要很少的人来维护所有项目的基建,维护成本也大大减低。
  • 团队协作也更加容易:一方面大家都在一个仓库开发,能够方便地共享和复用代码,方便检索项目源码,另一方面,git commit 的历史记录也支持以功能为单位进行提交,之前对于某个功能的提交,需要改好几个仓库,提交多个 commit,现在只需要提交一次,简化了 commit 记录,方便协作。
Last Updated 2024-09-10 15:26:26