同一个项目具有多种不同的发行版,应该如何管理代码与产物?

21次阅读

共计 476 个字符,预计需要花费 2 分钟才能阅读完成。

比如我手上现在有一个 App 项目,现在同时有国内版和国外版两种版本,以及 android 和 ios 两个平台,所以一共具有 4 种不同的发行版,如何才能正确的管理和维护项目的代码和产物呢?

该项目具有以下的特性

– 是使用 ReactNative 开发的 App 项目,所以 android 和 ios 的代码是在同一个项目里

– 国服和国际服使用了不同的原生 SDK,因此原生代码不同

– 国服和国际服使用了不同的包名,图标,签名等

– 国服和国际服使用了不同的服务端

– 国服和国际服有大量相同的逻辑代码和相同的页面 UI 组件,但在各种各样的细节地方有区别,例如同一个组件在两个服调用的接口不同,数据结构不同

– 两个服因为服务端不同,导致服务端的接口版本也不同,发版时间也不同

暂时想到的好像就只有这么多了,现在项目是所有代码都在一起,通过不同的环境变量来判断,项目里的状态管理已经一团糟了,经常改了国际服的逻辑,结果导致国服版本出问题之类

还有个问题就是两个服用了不同的 npm 库,最后导致打出来的原生包包含了两个服所有的 sdk 文件,产物体积变得非常巨大

不知道各位大佬有没有遇到类似的问题,有没有好的解决方案

正文完
 0