Mobile app expo release channel arhitecture

Viewed 73

I have this situation. I have an already published react native app (both ios and android) (1.0.1). So far, all the changes needed were made using OTA, so I had a jenkins pipeline which was trigger each time I was pushing anything to production branch. One of the main steps here is expo publish —release-channel prod-1, so I’m having the release channel called prod-1 here. Now, I had to add some dependencies, therefore I am not allowed to use the OTA for these ones.

Here comes the questions:

  1. What happens if I accidentally publish the current changes (which includes not accepted OTA changes) to the release channel prod-1?
  2. Should I create a new release channel for these new changes called prod-2, then create the build for it, then submit it to stores for approval, then once approved released it in production?
  3. If so, what will happen with the initial release called prod-1, in case I will need to do any changes on that one, should I simply publish again to prod-1 and an OTA will be performed for all the users using the old all version?
  4. I was thinking about this flow, please confirm me if this is right or if you have any other ideas:
    1. Create a new branch called production-v1 where I will merge what I have now on production, with a pipeline for automatically publishing the changes to prod-1 (OTA - if needed for the users using the old app).
    2. Change the production pipeline so instead of using the release channel prod-1, it will use prod-2
    3. Merge the main into production so it will trigger a new publish to prod-2 channel
    4. Submit the build to the stores and once approved, I should be able to release the new version for the users using the old app.

Please let me know if I’m missing anything here, or if my approach is wrong. Thank you so much!

0 Answers
Related