项目自述
Monorepo
描述

Monorepo 描述

  • Monorepo 是一种项目代码管理方式,指单个仓库中管理多个项目,有助于简化代码共享、版本控制、构建和部署等方面的复杂性,并提供更好的可重用性和协作性。 Monorepo 提倡了开放、透明、共享的组织文化,这种方法已经被很多大型公司广泛使用,如Google、Facebook 和Microsoft 等。

优势

  • 一致性(Consistency): 当你把所有代码库放在一个地方时,执行代码质量标准和统一的风格会更容易。
  • 原子提交(Atomic commits): 原子提交使大规模重构更容易,开发人员可以在一次提交中更新多个包或项目。
  • 依赖关系管理(dependency management): 共享依赖关系很简单,因为所有模块都托管在同一个存储库中,因此都不需要包管理器。
  • 统一的CI/CD(Unified CI/CD): 可以为代码库中的每个项目使用相同的CI/CD部署流程。
  • 复用 (Reuse): 组件、方法、跨项目复用。方便调试发布,比npm包简单很多, 继承npm包的优势,脱离项目构建、CDN 引入。

劣势

  1. 对于发布构建的挑战,难度会比单个项目构建要大, (为了解决发布难点,开发了SHT单一仓库 发布平台 (opens in a new tab))
  2. 无法管理某个、某些项目对于指定人员的权限 (如果后期有需要,可以联系gitlab官方团队)
  3. 不同分支下的版本控制会显得较为混乱, 包括tag (待解决)

monorepo-1