CI/CD 和本机依赖项更改的代码推送

Code-Push with CI/CD and native dependency changes

我正在准备一个应用程序发布到应用程序商店,我关心 CI/CD 管道和代码推送。

这种情况如何发生:

如果开发人员更新了 NPM 依赖项并且更新了一个包含 JS 所依赖的本机代码更改的包,Code-Push 是否仍会在用户设备下载本机代码更新之前更新用户设备上的 JS 包?

我的问题很明确,我不是在尝试 OTA 更新本机代码 - 我指的是某些包(如 react-native-device-info)具有本机 Java/Swift 代码并且还有 JS 代码需要一些 api 或来自本机代码的事件常量。如果您将 react-native-device-info 的包版本升级到新版本并且本机代码和 JS 代码都发生了变化,代码推送是否有任何方式知道在本机 [=23= 之前不更新包] 更新是因为 JS 包中有依赖本机代码的代码?

或者,我是不是想把Code-Push这个工具用错了?

codepush 的工作方式是更新应用的 JS 包。您的要求是更新具有本机更改的 NPM 包,并仅更新您的客户端,这是不可能的。 如果这样做,当 JS 接触本机代码时,您的应用可能会崩溃。

would code-push have any way to know to not update the bundle until the native code/app was updated because the JS bundle has code that depends on the native code?

简单回答否 Codepush 以版本号为目标,因此进入商店的新版本将具有新版本号,因此无需更新旧版本应用程序的捆绑包。

如果您真的希望所有用户都迁移到新版本,请使用 codepush 推送警报或某种消息,要求用户更新。