Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何为一个移动应用程序处理多个环境?_Android_Ios_Devops_Continuous Deployment_Mobile Application - Fatal编程技术网

Android 如何为一个移动应用程序处理多个环境?

Android 如何为一个移动应用程序处理多个环境?,android,ios,devops,continuous-deployment,mobile-application,Android,Ios,Devops,Continuous Deployment,Mobile Application,考虑一个可用于Android和iOS的企业移动应用程序,具有构建和发布管道 我试图实现的是发布管道的推广模式,这样应用程序二进制文件在构建管道中只构建一次,然后通过发布管道通过环境推广到生产: 生成管道生成IPA和APK文件 发布管道在成功构建后触发,并部署到测试环境中 QA经理向QA环境进行升级,并将其推给测试人员 QA经理向生产环境进行推广,并向最终用户推出 应用程序必须连接到后端API的相应测试、QA和生产版本(例如,当应用程序处于测试阶段时,它应该连接到测试API)-但应用程序如何知道要

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

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

  • 生成管道生成IPA和APK文件
  • 发布管道在成功构建后触发,并部署到测试环境中
  • QA经理向QA环境进行升级,并将其推给测试人员
  • QA经理向生产环境进行推广,并向最终用户推出
  • 应用程序必须连接到后端API的相应测试、QA和生产版本(例如,当应用程序处于测试阶段时,它应该连接到测试API)-但应用程序如何知道要连接到哪一个

    现在,如果我正在创建一个web应用程序,这足够简单,可以使用环境变量进行处理,这样web应用程序就可以知道它运行在哪个环境中,而移动应用程序就不是这样了

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


    是否有某种方法可以将文件捆绑到APK/IPA文件中,让它知道它属于哪个环境?有什么办法处理这个问题

    使用fastlane和jenkins,我们可以在不同的环境中构建APK/IPA。对于此应用程序,必须包含使用相应终结点配置的不同架构。为iOS设置环境是@lal krishna不确定我是否遗漏了一些内容,但看起来您正在为每个环境构建新的二进制文件,每个构建都有不同的配置文件?这正是我想要避免的;目标是通过environments@Cocowalla你最终采取了什么方法?@gabriel-c自从我上次在这里发表评论以来,没有什么新的:选项是配置API(我不喜欢它),或者只接受每个环境的不同构建-实际上,只要你从同一个提交中构建,由此产生的风险极低;牛肉是理想主义的
    [ APK/IPA ]---->Test ---> QA ---> Production---->[ Same APK/IPA ]