移动应用如何处理多种环境?

问题描述 投票:0回答:1

考虑一个适用于 Android 和 iOS 的企业移动应用程序,并具有构建和发布管道。

我想要实现的是发布管道的推广模型,这样应用程序二进制文件仅在构建管道中构建一次,然后通过发布管道通过环境提升到生产环境:

  1. 构建管道构建 IPA 和 APK 文件
  2. 构建成功后触发发布管道,并部署到测试环境
  3. QA 经理晋升到 QA 环境,并推送给测试人员
  4. QA 经理升级到生产环境,并推送给最终用户
[ APK/IPA ]---->Test ---> QA ---> Production---->[ Same APK/IPA ]

应用程序必须连接到后端 API 的相应测试、QA 和生产版本(例如,当应用程序处于测试阶段时,它应该连接到测试 API) - 但应用程序如何知道要连接哪一个到?

现在,如果我正在创建一个 Web 应用程序,这足够简单,可以使用环境变量来处理,因此 Web 应用程序知道它正在运行的环境 - 移动应用程序则不然。

我能想到的处理这个问题的唯一方法是让应用程序连接到一种配置 API,发送它的版本号,这样后端就会“告诉”它属于什么环境。但这似乎有点不灵活。

是否有某种方法可以将文件捆绑在 APK/IPA 文件中,以使其知道它属于哪个环境?有哪些方法可以处理这个问题?

android ios devops continuous-deployment mobile-application
1个回答
0
投票

我以前做过这个。我现在没有时间太深入。总体思路略有不同。我们阻止应用程序使用,直到通过后端 API 注册为止。我们使用序列号来定位设备,因此每个设备在注册过程中都会获得自己的环境。然后我们在两端使用持久性来根据序列号或唯一标识符来跟踪设备环境

© www.soinside.com 2019 - 2024. All rights reserved.