Continuous Deployment in Mobile Development

Continuous deployment and continuous delivery became a natural process for web-based applications over the last years. Companies are now able to deploy product changes or bug fixes to the production system multiple times a day. With the help of web deployment tools and a solid deployment infrastructure setup, this task became much more reliable and easier. But how does it look for native mobile apps? Is it possible to release a new mobile app at any point in time while having the app store submission process in place for some app stores?
The answer is yes, and in this article, I will describe the possible options for native mobile apps.

Invest in Mobile Infrastructure

Continuous deployment and delivery don’t come free. Nor for web applications nor for native mobile apps. A company needs to invest time and money in its own mobile app infrastructure to be able to ship a new version of the native mobile app at any point in time. However, from the software and tooling perspective, a mobile app delivery infrastructure can be build up really easily. For example with the help of open-source software like Jenkins as continuous integration system and fastlane as build and signing software, the infrastructure setup can be lean, easy and powerful. Last but not least a company should set up a mobile app distribution channel e.g. with the help of software like Testflight, AppCenter or Firebase. Tools like that help to distribute the mobile app to test devices during the development and testing phase.

App Store Deployment Options

If the infrastructure is in place, a native mobile app development team must know the app store deployment options. If we take a look at the two biggest app stores on the market, Apple App Store and the Google Play Store, there are quite a few differences when it comes to the deployment options. The biggest difference is the app review process. While every app on the Apple app store needs to get approval from the Apple review team, apps on the Google Play Store can be uploaded immediately and can replace the current production app within hours. The second difference between the two is the way, native apps can be rolled out to real users and or testers. On the Apple app store, companies have the possibility to use phased releases. In this process, the latest app version gets released in buckets to the customers. With that, the development team can monitor the release progress for any possible problems and stop the rollout. On the Google Play Store, a mobile development team has several more options. From alpha to beta releases to a phased rollout. The knowledge about the different release and testing options is important in order to make a decision on how the native mobile app gets deployed to testers and customers multiple times a day.

If you want to know which options you have to continuously deploy your mobile app to real customers without waiting for any approval by an app store, read my latest article that I wrote for Applause.

Read the full article here: