• 大厂是如何管理较复杂的app?如何给每个部门划分代码权限?
  • 发布于 2个月前
  • 258 热度
    9 评论
没去过大厂,好奇大厂这种比较复杂的 app 是如何给每个部门划分代码权限的,然后怎么提交合并,怎么管理的呢?
用户评论
  • 长夜漫漫
  • 主工程基本上就是个壳,具体业务都在模块里,管理方式像 ios 就是魔改的 pod ,source/.a 可以根据需要配置,你有这个库的权限就可以拉到 source 否则就用.a ,提交代码也是按模块提交,jk 打包通过后合并代码编译.a ,更新主工程 pod
  • 2024/9/2 13:04:00 [ 0 ] [ 0 ] 回复
  • 心在旅途
  • 原生的话业务代码可能分多个库,每个人都有相关所有代码权限,和自己不相关的能读不能写,写了也没人给你评,和自己相关的评了才入仓。
    基础代码,比如网络、埋点、升级、日志这类的。都是 sdk 集成,出问题拉群解决,解决不了上升。
    页面内 h5 ,他们要什么能力或者就提过来。我们没有前端仓库的权限,发版流程也不参与。
  • 2024/9/2 13:01:00 [ 0 ] [ 0 ] 回复
  • 青春已去
  • 说出来你可能不信 有专门一个团队负责总合并 部署 review…. 不能直接提交 你想提交要发起提交请求 不合规或者违反相关规范这个团队会给你打回来 你得改好了再次提交。
  • 2024/9/2 12:59:00 [ 0 ] [ 0 ] 回复
  • 君子坦荡荡
  • app 做一个套壳,然后内部每个页面都是 小程序化了,然后公共会给一个版本的壳,然后前端在自己部门的页面填坑,填完之后会有流水线 自动打包一套 app 出来 做集成测试,至少我知道携程内部是这么干的,毕竟功能太多了。
  • 2024/9/2 12:57:00 [ 0 ] [ 0 ] 回复
  • 比肩天涯
  • 我不是 app 开发,但是之前和 app 开发问过相似的问题,他们 app 是分模块的,每个模块可以单独启动和测试,最终发版会整合到一起,他们没有完整的项目代码权限,只有他们负责的模块的权限,至于怎么协调和交互的没仔细问题,甚至每个模块调用的网关都不是同一个
  • 2024/9/2 12:51:00 [ 0 ] [ 0 ] 回复
  • 尘世无情
  • React Native 化时候,就只是分成了三个仓库,React (所有业务代码都放一个大仓里,然后从大仓里构建产物发布),Native 分成两个仓库,对应 iOS 和 Android 各自的客户端实现。
  • 2024/9/2 12:45:00 [ 0 ] [ 0 ] 回复
  • 半生輕狂客
  • 不是把代码放在一个仓库里,分很多项目
    基础设施部门搞一个 runtime ,比如类似小程序的 runtime
    其它每个部门的 app ,都是独立开发独立部署
    最后有一个部门,一般是开发和运营决定什么时候发布
    这个需要开发很多配套的系统,比如内部的开发测试框架,内部 app 的发布审批系统等等。
  • 2024/9/2 12:30:00 [ 0 ] [ 0 ] 回复