如何处理白标平台移动应用程序的部署?

bma*_*mat 6 deployment maintenance android ios

我正在开发一种可以部署到许多不同组织的产品(理想情况下,数十种).系统的每个部署(由iOS和Android的本机应用程序组成)将涉及以下内容:

  • 特定于组织的品牌(即新皮肤)
  • 与组织的身份验证系统和用户数据库集成
  • 一些自定义功能取决于组织的需求

换句话说,核心功能在所有部署中保持不变,但每个实例看起来都不同,挂钩到不同的身份验证系统,并启用/禁用某些功能.

我的问题:为了最大限度地减少重复并简化部署过程,管理我们的2个移动代码库(iOS和Android)的最佳策略是什么?

我们正在讨论的三个解决方案是:

  1. 创建一个跨所有实例共享的核心库(作为子项目/库项目或git子模块),并在顶部添加一个薄层,其中包含品牌和任何配置详细信息.

  2. 维护具有核心功能的Git分支,并为包含其他代码的每个部署创建新分支.

  3. 做一些完全不同的事情,一些更聪明的人在stackoverflow建议.

哪个听起来最棒?在此先感谢您的任何反馈!!