Mobile 使用Fastlane连续交付

Mobile 使用Fastlane连续交付,mobile,react-native,fastlane,continuous-delivery,Mobile,React Native,Fastlane,Continuous Delivery,我最近已经从web环境转移到移动环境(构建React原生应用程序)。网络世界中最强大的过程之一是持续交付。我想为React原生移动环境重新创建一个连续的交付管道,并将其投入生产。我的理解是,只要只有javascript包得到更新,而不是底层本机组件,这是可能的 我一直在寻找以下博客: 看来,fastlane是移动生态系统中最常见的持续集成解决方案,但关于持续交付的帖子很少 这是因为这是不可能的吗?“只需更新js包”的承诺是谎言吗?如果这不是不可能的,我将如何配置fastlane以直接推动生产?或

我最近已经从web环境转移到移动环境(构建React原生应用程序)。网络世界中最强大的过程之一是持续交付。我想为React原生移动环境重新创建一个连续的交付管道,并将其投入生产。我的理解是,只要只有javascript包得到更新,而不是底层本机组件,这是可能的

我一直在寻找以下博客: 看来,fastlane是移动生态系统中最常见的持续集成解决方案,但关于持续交付的帖子很少


这是因为这是不可能的吗?“只需更新js包”的承诺是谎言吗?如果这不是不可能的,我将如何配置fastlane以直接推动生产?或者我会使用其他工具吗?它通常被认为是空间中的反模式吗?如果是,为什么?

可以更新React本机应用程序的javascript部分

Fastlane是构建和部署移动应用程序的绝佳工具,但它本身并不是一个持续交付工具。然而,与其他一些CI工具(Jenkins等)结合使用,可以很容易地配置在某个设定的时间间隔或基于某个触发器触发的app store或beta版本

Fastlane主要用于解决与构建和部署本机应用程序相关的问题,因此它对于构建/部署本机RN应用程序到应用商店非常有用,但可能不是管理JS推送的最佳工具。推送JS代码有几种常用工具:


是专门为此目的构建的两种流行机制,它们提供了用于部署更新javascript的命令行工具。这些可以在Jenkins(或其他CI服务器)中配置,而无需使用fastlane。

正如@john_ryan所指定的,您可以用于应用程序更新。然而,值得考虑该解决方案的一些特点:

  • 如果需要添加一些本机模块,则不能使用热更新
  • 如果您更新了React本机版本,则严格不建议使用热更新。在大多数情况下,后果将是可悲的
  • 新用户将在第一次应用程序启动时获得过时的内置版本。实际版本将仅在第二次运行时显示
  • 鉴于上述所有情况,CodePush最适合:

  • 减少关键错误的应用程序更新时间。当然,在这种情况下,您必须尽快发布本机更新
  • 非重大更新。对于大多数情况下的主要更新,您需要更新屏幕截图、应用程序描述、发行说明,并提请用户注意更新。由于“第二次运行更新”周期,主要更改的热更新不适合
  • 在一小部分用户上测试新更新的稳定性
  • A/B测试
  • 在任何情况下,您都应该使用快速车道。它真的很酷的自定义版本,更新商店元信息,截图等测试版交付我推荐