When it comes to software development, working in an enterprise environment can be quite challenging.
There are a lot of aspects to consider. Many tools need special configurations – especially when working with Microsoft® and Apple® operating systems in the same business. Due to IT security, some tools might be access restricted which can inhibit the deployment process and cause delay.
Deploying a mobile application to its store is preceded by the upload of the binary. Creating this binary can be a very complex thing – depending on the type of application to deliver.
When distributing an app numerous integrated and continuous delivery tools might be used. We decided to use a minimal amount of tools to decrease complexity and to reach a high configurable semi-automated solution for our software deployment.
As we only use shared components that won’t break on upcoming software development kit updates, our different software components – not influencing each other – can be maintained separately. Any other components e.g. our backend, are deployed independently which doesn’t affect our build process.
Tools, like Jenkins, permit a platform independent build configuration. The build-server can be any kind of hardware able to compile the source code of the application.
In combination with the in-house distribution platform HockeyApp®, we submit our mobile applications – using individual build configurations – to our testers and collect automatically generated crash reports.
For automated testing and unit tests, we use tools provided by the corresponding software development kit for each mobile platform. This enables to run our tests even during the development process with ease- and grants compatibility and maintainability for future platform updates.
During the deployment process, those tests are also being launched automatically as a separate step after the build step has finished. Mobile phones attached to the build-server will run all the tests natively. Only if all tests have been carried out successfully, the mobile application will be released to our test environment. Further testing conducted manually by means of specific test cases is necessary to guarantee the performance promise we are committed to.
Finally, the mobile applications can be released to the public in their respective stores and the release lifecycle will start again.

Leave a Reply

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

If you agree to these terms, please click here.