位置: IT常识 - 正文

多项目版本管理:monorepo 策略(项目版本管理是什么)

编辑:rootadmin
多项目版本管理:monorepo 策略 monorepo 是什么

推荐整理分享多项目版本管理:monorepo 策略(项目版本管理是什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:项目版本管理 谁做,项目版本管理工具,项目版本管理 谁做,项目版本管理工具,项目版本管理考核指标如何写,项目版本管理 谁做,项目版本管理 谁做,项目版本管理工具,内容如对您有帮助,希望把文章链接给更多的朋友!

一个产品会有多个项目,每个项目之间会存在版本同步的问题,如何在其中一个项目发布上线后,保证每个项目版本升级后的版本同步问题,提出的解决方案就是 monorepo 策略。

monorepo 是一种将多个项目代码存储在一个仓库里的软件开发策略(mono 意为单一,repo 意为 仓库)。与之相对的是另一种流行的代码管理方式 MultiRepo,即每个项目对应一个单独的仓库来分散管理。

多项目版本管理:monorepo 策略(项目版本管理是什么)

无论是比如 Google、Facebook,还是社区内部知名的开源项目 Babel、Vue3都使用了 monorepo 方案来管理他们的代码。

通过 monorepo 策略管理代码的代码仓库的目录结构会是这样:

不过,monorepo 不只是将不同子项目的目录汇集到一个目录之下,实际上操作起来所要考虑的事情复杂得多。

monorepo 的优劣

monorepo 不是银弹,有优亦有劣:

易于代码复用:所有项目代码集中于单一仓库,易于抽离出共用的业务组件或工具,并通过 TypeScript,Lerna 或其他工具进行代码内引用;易于依赖管理:项目之间的引用路径内化于单一仓库,当某个项目的代码修改后,易于追踪其影响的是其他哪些项目。通过工具,易于版本依赖管理和版本号自动升级;并且所有的项目都是使用最新的代码,不会产生其它项目版本更新不及时的情况;易于代码重构:代码重构难在不确定对某个项目的修改是否对于其他项目是破坏性的。而 monorepo 使得能够明确知道代码的影响范围,并且能够对被影响的项目可以进行统一的测试,利于不断优化代码;倡导开放,透明,共享的组织文化,有利于开发者成长,代码质量的提升:monorepo 使得开发者都被鼓励去查看和修改他人的代码,同时,也会激起开发者维护代码,和编写单元测试的责任心(毕竟朋友来访之前,我们从不介意自己的房子究竟有多乱),这将会形成一种良性的技术氛围,从而保障整个组织的代码质量;不易于项目粒度的权限管理;额外的学习成本:monorepo 使得增加理清各个代码仓库之间的相互逻辑的成本;需要工具链和自动构建工具的支持:项目若很庞大且没有工具链的支持,那么 git 管理、安装依赖、构建、部署会很麻烦和耗时。比如可以基于 Lerna、Yarn Workspaces 等工具更加自动化的处理依赖包之间的构建和发布。

在实际场景来落地项目级别的 Monorepo,需要一套完整的工程体系来进行支撑,因为基于 Monorepo 的项目管理,不只是代码放到一起,还需要考虑项目间依赖分析、依赖安装、构建流程、测试流程、CI 及发布流程等诸多工程环节,同时还要考虑项目规模到达一定程度后的性能问题,比如项目构建/测试时间过长需要进行增量构建/测试、按需执行 CI 等等,在实现全面工程化能力的同时,也需要兼顾到性能问题。

Monorepo 如何落地1 锁定环境:volta or nvm

除了使用 Docker 和显式的在文档中

本文链接地址:https://www.jiuchutong.com/zhishi/290653.html 转载请保留说明!

上一篇:Axios简介(axios入门)

下一篇:命令行 cnpm install 报错: Install fail Error: Unsupported URL Type: npm:vue-loader@^15.9.7(命令行查看ip地址)

  • 苹果蓝牙耳机怎么恢复出厂设置(苹果蓝牙耳机怎么配对安卓)

    苹果蓝牙耳机怎么恢复出厂设置(苹果蓝牙耳机怎么配对安卓)

  • 华为畅享9低配和高配的区别(华为畅享9高配)

    华为畅享9低配和高配的区别(华为畅享9高配)

  • 闲鱼擦亮的最佳时间(闲鱼擦亮的最佳时间是早上吗?)

    闲鱼擦亮的最佳时间(闲鱼擦亮的最佳时间是早上吗?)

  • 钉钉视频通话怎么横屏

    钉钉视频通话怎么横屏

  • 抖音怎么收集发财中国年(怎么在抖音发收藏视频)

    抖音怎么收集发财中国年(怎么在抖音发收藏视频)

  • 摄影师后期用ps还是lr呢(摄影师专用ps软件)

    摄影师后期用ps还是lr呢(摄影师专用ps软件)

  • 抖音已读功能怎么关闭(抖音已读功能怎么设置未读)

    抖音已读功能怎么关闭(抖音已读功能怎么设置未读)

  • 华为p40下巴多少毫米(华为p40下巴宽度)

    华为p40下巴多少毫米(华为p40下巴宽度)

  • 微信拉黑过后聊天记录还有吗(微信拉黑过后聊天还在吗)

    微信拉黑过后聊天记录还有吗(微信拉黑过后聊天还在吗)

  • 添加打印机搜索不到打印机怎么办(添加打印机搜索不到打印机怎么办win10)

    添加打印机搜索不到打印机怎么办(添加打印机搜索不到打印机怎么办win10)

  • 单元格地址绝对引用的方法是(单元格地址绝对引用公式)

    单元格地址绝对引用的方法是(单元格地址绝对引用公式)

  • 苹果手机怎么设置一个圈(苹果手机怎么设置密码锁屏)

    苹果手机怎么设置一个圈(苹果手机怎么设置密码锁屏)

  • 微信零钱充值和提现有什么区别(微信零钱充值和零钱提现有什么区别)

    微信零钱充值和提现有什么区别(微信零钱充值和零钱提现有什么区别)

  • qq音乐为有些歌不能播放(qq音乐歌曲为什么听不完整)

    qq音乐为有些歌不能播放(qq音乐歌曲为什么听不完整)

  • iqoo屏幕多少hz(iqoo屏幕多少英寸)

    iqoo屏幕多少hz(iqoo屏幕多少英寸)

  • 畅享10plus可以人脸识别吗(畅享10plus能开空调吗)

    畅享10plus可以人脸识别吗(畅享10plus能开空调吗)

  • id为什么自己锁了(为什么iphoneid会锁定)

    id为什么自己锁了(为什么iphoneid会锁定)

  • 苹果序列号c开头的是什么机(苹果序列号C开头是什么版本)

    苹果序列号c开头的是什么机(苹果序列号C开头是什么版本)

  • 手机连接电脑打印机怎么设置(手机连接电脑打印文件怎么打)

    手机连接电脑打印机怎么设置(手机连接电脑打印文件怎么打)

  • 苹果手机怎么创建文件夹(苹果手机怎么创建apple ID)

    苹果手机怎么创建文件夹(苹果手机怎么创建apple ID)

  • 淘宝自动回复怎么设置(淘宝自动回复怎么留微信)

    淘宝自动回复怎么设置(淘宝自动回复怎么留微信)

  • gtx950能玩什么游戏

    gtx950能玩什么游戏

  • 小度音箱一天耗多少电(小度智能音箱续航时长)

    小度音箱一天耗多少电(小度智能音箱续航时长)

  • 全民k歌vip的隐身功能(全民k歌会员跟会员隐藏访问还能看到吗)

    全民k歌vip的隐身功能(全民k歌会员跟会员隐藏访问还能看到吗)

  • 个人独资企业需要报税吗
  • 自动售货机进货渠道
  • 孳息和利息的区别
  • 办理税务登记需要法人身份证原件吗
  • 小规模纳税人差额计税情形
  • 自产自用应税消费品的消费税,其纳税环节
  • 缴纳社保的基数是什么意思
  • 个税app显示已离职是什么原因
  • 个人开劳务发票怎么开
  • 事业单位固定资产
  • 公司新装宽带怎么做账?
  • 预付材料款的会计分录怎么写
  • 写字楼出租可以给租户注册吗
  • 贷款的印花税税率
  • 小规模纳税人未申报怎么处理
  • 大米加工厂加工技术培训总结
  • 发票抵扣联什么时候用
  • 污水处理厂税收风险
  • 税收分类编码选错了会罚款么
  • 企业当年度增值税税率
  • 非银行支付机构条例(征求意见稿)
  • 年终奖需要计入工资交社保吗
  • 销售不动产增值税税率变化
  • 公司注销了帐户钱能办款
  • 个体户的公账怎么操作
  • 汇算清缴时
  • 差额纳税的会计处理
  • 应收冲预收是什么意思
  • 月末结转本月已销产品成本
  • microsoft word安装
  • 如何解决win7系统卡顿
  • 关闭windows defender实时防护
  • 上个月做的无票收入,这个月开票怎样做分录
  • 处理车辆违章送哪个部门
  • exe是什么进程
  • 制造企业成本计算模型有哪些类型
  • 无形资产摊销的会计及账务处理
  • 库存商品损失怎么做账
  • php artisan key:generate
  • php 跨域
  • php中定义函数
  • 【机器学习面试总结】————(一)
  • 深入理解linux内核
  • 深度学习之concatenate和elementwise操作(二)
  • pytorch jit
  • thinkphp pathinfo
  • 工程运维预缴增值税税率
  • 织梦cms官网
  • springbootredis密码加密
  • 年末未分配利润怎么算
  • 个人独资企业法主要内容
  • 进项的加计抵减怎么算
  • 增值税纳税人放弃免税权的规定
  • sql连接查询中AB
  • 公户转私户的钱怎么退回来
  • 招待费的增值税怎么算
  • 小微企业记账必须有会计证吗
  • 小微企业如何自己开发票
  • 银行总账和明细账
  • 什么是现金流量表
  • 支付宝支付高速通行费如何开发票
  • 企业对财会人员的要求
  • vista下实现秘密下载的解决办法
  • mac蓝牙连接iphone有什么用
  • centos中rpm包怎么安装
  • open bsd
  • 取消windows开机登录密码
  • xp系统开机只有一个鼠标箭头
  • 五种修改方法
  • Windows7如何查看电脑配置
  • w7开机界面
  • js 加减