位置: 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地址)

  • 大多数买你产品的,其实并不是你的粉丝(大部分商品都可以买到,但价格昂贵)

    大多数买你产品的,其实并不是你的粉丝(大部分商品都可以买到,但价格昂贵)

  • soul怎么关闭恋爱铃(soul怎么关闭恋爱铃的声音)

    soul怎么关闭恋爱铃(soul怎么关闭恋爱铃的声音)

  • 苹果手机盲人模式怎么开启(苹果手机盲人模式怎么打开屏幕)

    苹果手机盲人模式怎么开启(苹果手机盲人模式怎么打开屏幕)

  • app内购买是什么意思花钱吗(app内购买是花钱吗)

    app内购买是什么意思花钱吗(app内购买是花钱吗)

  • iPhone 12能自动开关机吗(iphone12有没有自动开关机)

    iPhone 12能自动开关机吗(iphone12有没有自动开关机)

  • 华为有识别图片文字的功能吗(华为识别图片文字转化为文本手势)

    华为有识别图片文字的功能吗(华为识别图片文字转化为文本手势)

  • 滴滴口碑值是什么意思(滴滴口碑值什么时候更新一次)

    滴滴口碑值是什么意思(滴滴口碑值什么时候更新一次)

  • 抖音发字卡怎么获得(抖音里发字的是怎么弄的)

    抖音发字卡怎么获得(抖音里发字的是怎么弄的)

  • 一台笔记本电脑多重(一台笔记本电脑屏幕的面积大约是4)

    一台笔记本电脑多重(一台笔记本电脑屏幕的面积大约是4)

  • 华为手机升级后白屏了怎么办(华为手机升级后开不了机怎么回事)

    华为手机升级后白屏了怎么办(华为手机升级后开不了机怎么回事)

  • 优酷视频水印能关吗(优酷里的水印)

    优酷视频水印能关吗(优酷里的水印)

  • 华为手机微信屏幕黑色怎么回事(华为手机微信屏幕变小怎么还原成全屏)

    华为手机微信屏幕黑色怎么回事(华为手机微信屏幕变小怎么还原成全屏)

  • 钉钉浮屏算时间吗(钉钉浮屏看视频算时间吗)

    钉钉浮屏算时间吗(钉钉浮屏看视频算时间吗)

  • 华为p40pro怎么省电(华为p40pro怎么省点)

    华为p40pro怎么省电(华为p40pro怎么省点)

  • 拼多多限时秒杀怎样快速抢(拼多多限时秒杀活动技巧)

    拼多多限时秒杀怎样快速抢(拼多多限时秒杀活动技巧)

  • 不是群主怎么把别人踢出群(不是群主怎么把别人踢出群聊)

    不是群主怎么把别人踢出群(不是群主怎么把别人踢出群聊)

  • flash怎么打开(flash怎么打开工具栏)

    flash怎么打开(flash怎么打开工具栏)

  • airpods可以连电脑吗(airpods可以连电视机蓝牙吗)

    airpods可以连电脑吗(airpods可以连电视机蓝牙吗)

  • 如何关闭微信流量提醒(如何关闭微信流量月包)

    如何关闭微信流量提醒(如何关闭微信流量月包)

  • 抖音怎么上传高清视频教程(抖音怎么上传高清视频)

    抖音怎么上传高清视频教程(抖音怎么上传高清视频)

  • 小米9的屏幕材质(小米9屏幕材质怎么样)

    小米9的屏幕材质(小米9屏幕材质怎么样)

  • qq怎么看认识多久(qq怎么看认识多少天的人)

    qq怎么看认识多久(qq怎么看认识多少天的人)

  • 怎么关闭电脑的杀毒软件(怎么关闭电脑的锁屏密码)

    怎么关闭电脑的杀毒软件(怎么关闭电脑的锁屏密码)

  • 留抵税额退税怎么做账
  • 股权转让涉及法律
  • 资金账簿印花税和营业账簿的区别
  • 水电费收据可以税前扣除吗
  • 房地产企业成本包括哪些
  • 酒店收入是以当月入账时间为准吗
  • 上个月没有清卡,这个月可以抄税吗
  • 如果零申报
  • 实收资本认缴怎么缴纳印花税
  • 机器配件属于什么报销项目
  • 自然人个税申报换电脑数据怎么合并
  • 建设用地规划许可证和建设工程规划许可证的区别
  • 公司购买的五金工具报销怎么做
  • 以前多计提了应付职工薪酬怎么平账?
  • 可供出售债权投资
  • 资质招投标
  • 补开去年未开票收入
  • 税务顾问费怎么做账务处理?
  • 股份支付为什么计入资本公积?
  • 无形资产的初始计量和后续计量
  • 非独立核算的公司怎么报税
  • 增值税为什么申报不了
  • 固定资产在什么时候计提折旧
  • 给别人代付
  • 土地增值税属于什么税类
  • 开票金额与收入金额有差额可以吗
  • 汇算清缴退税怎么调整金额
  • 农产品的增值税率
  • 手机CPU天梯图2023年7月
  • 个体户一般纳税人可以开13个点的专票吗
  • 银行承兑汇票质押率90%
  • 发票明细与实际不符是什么行为
  • 小规模纳税人需要缴纳个人所得税吗
  • 蓝莓外面的霜
  • php实现创建微信群聊
  • 无形资产期末余额在哪方
  • pc端微信扫码支付
  • 防伪码查一次还能查第二次吗
  • php获取当前网址
  • 投资收益影响营业利润和利润总额吗
  • 应收账款怎么做账
  • 扩散分类
  • unplugin-auto-import github
  • 已入账的发票跨年退回税务
  • 成本票不够怎么做账
  • 电力系统培训计划
  • 预提财务费用
  • dedecms使用教程
  • 一次性取得租赁合同
  • 在建工程账务处理会计分录
  • 企业跨区变更地址需要多久
  • 原材料的计划成本分录
  • 进口关税征收方法
  • 汽车装修费计入哪个科目
  • 待抵扣进项税额分录
  • 小规模增值税减免
  • 普票丢失可以用复印件入账吗
  • 购入汽车当月需要计提折旧吗
  • 调整事项涉及损益的
  • 工资薪金个人所得税扣除标准
  • 权益性投资包括哪些
  • Suse Linux 10中MySql安装与配置步骤
  • win2000停止服务
  • win8系统一直重启
  • win8.1专业版是哪个
  • 如何关闭win8.1自动更新
  • ubuntu操作
  • opengl实现光照效果
  • com.android.phone无响应
  • activity之间的数据回传
  • 原生js实现ajax步骤
  • html5 树形控件
  • python class
  • js new实现
  • 运输费用抵扣税率最新规定
  • 汽车销售流程有哪些环节?每个环节的主要内容是什么?
  • 上海网上申报软件怎样下载
  • 买高档手表
  • 柴油增值税发票
  • 社会保险登记表下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设