CodePush:如何部署到同一部署配置的多个构建版本?
CodePush: How to deploy to multiple build versions of the same deployment config?
我了解理想情况下的部署模型,即所有用户始终将他们的应用程序更新到最新的应用程序商店版本。但实际上他们没有。如何使用 CodePush 处理 react-native iOS 应用程序的不同构建版本?考虑以下两种情况:
1) 我一直在使用 CodePush 将新的 js bundel 部署到我的应用程序的 1.0.0 版本中。现在我发布了 1.1.0 并希望通过 CodePush 提供新代码。据我所知,现在可以同时部署到 1.0.0 和 1.1.0,既不是不同的捆绑包,也不是同一个捆绑包。因此,一旦我将捆绑包推送到 1.1.0,就无法更新未通过应用商店更新的 1.0.0 应用。
2) 据我所知,解决此问题的一种方法是仅发布具有增加的内部版本号 (CFBundleVersion) 但版本字符串 (CFBundleShortVersionString) 不变的新版本。但这有这样的效果,即使是刚下载的最新应用商店版本(例如 1.1.0(8))也总是会首先在 codepush 上加载最新的包。
有没有一种方法可以干净利落地做到这一点,而无需进行不必要的更新?
我们计划很快优化这个场景,因为正如您提到的,我们意识到这种需求是多么普遍。
与此同时,我们建议支持这一点的方式(以及我们的许多用户目前正在做的)是在与现有 1.0 相同的 CodePush 应用程序中为您的 1.1.0 版本创建一个新的 CodePush 部署.0 部署,并在将 1.1.0 提交到商店之前更新您的 Info.plist 文件以指向新的部署密钥。
这样,您可以同时向 1.0.0 用户和 1.1.0 用户发布更新。如果你想向两者发布相同的更新,你必须 运行 发布命令两次,但如果你有只针对一个的更新,你只需将它发布到相应的部署。
这个解决方案对人们来说效果很好,并且具有 "benefit" 非常明确地说明您希望如何并行管理多个二进制版本的优点,但它显然也有点 hack-ish ,以及比应有的更多 verbose/clunky。
我们将在下个月简化此体验,我很乐意收到您的反馈,了解我们如何才能最好地适应您的场景。如果您有任何进一步的 questions/etc (joncart@microsoft.com).
,请随时直接给我发电子邮件
谢谢!
我了解理想情况下的部署模型,即所有用户始终将他们的应用程序更新到最新的应用程序商店版本。但实际上他们没有。如何使用 CodePush 处理 react-native iOS 应用程序的不同构建版本?考虑以下两种情况:
1) 我一直在使用 CodePush 将新的 js bundel 部署到我的应用程序的 1.0.0 版本中。现在我发布了 1.1.0 并希望通过 CodePush 提供新代码。据我所知,现在可以同时部署到 1.0.0 和 1.1.0,既不是不同的捆绑包,也不是同一个捆绑包。因此,一旦我将捆绑包推送到 1.1.0,就无法更新未通过应用商店更新的 1.0.0 应用。
2) 据我所知,解决此问题的一种方法是仅发布具有增加的内部版本号 (CFBundleVersion) 但版本字符串 (CFBundleShortVersionString) 不变的新版本。但这有这样的效果,即使是刚下载的最新应用商店版本(例如 1.1.0(8))也总是会首先在 codepush 上加载最新的包。
有没有一种方法可以干净利落地做到这一点,而无需进行不必要的更新?
我们计划很快优化这个场景,因为正如您提到的,我们意识到这种需求是多么普遍。
与此同时,我们建议支持这一点的方式(以及我们的许多用户目前正在做的)是在与现有 1.0 相同的 CodePush 应用程序中为您的 1.1.0 版本创建一个新的 CodePush 部署.0 部署,并在将 1.1.0 提交到商店之前更新您的 Info.plist 文件以指向新的部署密钥。
这样,您可以同时向 1.0.0 用户和 1.1.0 用户发布更新。如果你想向两者发布相同的更新,你必须 运行 发布命令两次,但如果你有只针对一个的更新,你只需将它发布到相应的部署。
这个解决方案对人们来说效果很好,并且具有 "benefit" 非常明确地说明您希望如何并行管理多个二进制版本的优点,但它显然也有点 hack-ish ,以及比应有的更多 verbose/clunky。
我们将在下个月简化此体验,我很乐意收到您的反馈,了解我们如何才能最好地适应您的场景。如果您有任何进一步的 questions/etc (joncart@microsoft.com).
,请随时直接给我发电子邮件谢谢!