Why I use Continuous integration

Delivering high quality apps with small teams and limited resources is extremely difficult and without a solid testing procedure to find the problems before the users do.

Regressions are mostly avoidable when the project implements a tests with high coverage of the codebase and using CI system allows us to find the issues quickly.

Bitrise

I'm a huge fan of Bitrise, a hosted continuous delivery environment which supports Xamarin.

Its linked to the Beer Drinkin repo and kicks off a build with every commit to master. This will deliver apps to a pre-defined list of beta testers if the app passes both unit and UI tests.

Azure App Service CI

The Beer Drinkins backend is automatically built from the staging branch on the repository to a staging slot with every commit.

The same rule applies for Master.

The general rule is to push to staging and then run integration tests to ensure functionality remains unchanged. If this passes then we are able to merge and deploy to master.