
Android CI & CD
What the heck is that, you might ask?
Before started explaining What is what? Lets introduce todays era buzz word DevOps. What is DevOps? Thanks for such great article. Please go through it.
This term are not specific to android only. They are generic we can use them with any of the technology.
Working on the big organisation and enterprise app development. Working with large teams in agile process it could be very hard to track the development progress, code integration, code review & deployment process. Always learn from the past experience thats the best way to gain the experience and improve your self.
A great development workflow will make your good developers great, and your great developers exceptional. A bad workflow will take your best engineers productivity down to a junior level and make wish he worked elsewhere.
Grady Booch first named and proposed CI in his 1991 method
Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. CD is Continuous Deployment or Delivery.
By integrating regularly, you can detect errors quickly, and locate them more easily.
CI & CD is for the large enterprise & specially product base companies.
By adopting both Continuous Integration and Continuous Deployment, you not only reduce risks and catch bugs quickly, but also move rapidly to working software.
With low-risk releases, you can quickly adapt to business requirements and user needs. This allows for greater collaboration between ops and delivery, fuelling real change in your organisation, and turning your release process into a business advantage.
Pros of CI & CD
- CI reducing the risk & Overheads
- Defects are detected & fixed sooner
- Analysing & Reporting
- Automated Testing, you can do pre commit & post commit testing, pre deploy, post deploy testing.
- Code control, code versioning
- Prevent wrong commits, missing file & resource while committing code.
- It will reduce efforts, time & money.
- Build automation
- Deployment Automation.
How we will achieve same for the Android?
Note :- The process I explained it for the Gradle based project build tool.
There are different tools

On server machine you have to install Android SDK, Jenkins Server, Gradle Project build tool.
Configure Jenkins for CI & CD.
- Install plugins in Jenkins gradle, git & android emulator plugin (if you want to use an emulator).
- For Continuous delivery add Google Play Android Publisher Plugin.
Configure jenkins there are two tutorial from code path. Please go through it.
Once you begin to use Gradle to build and test projects (see Getting Started with Gradle), you might like to build…github.com
The Developer Console for Google Play provides API support for you to be able to push to the store automatically. This…github.com
