Android CI & CD
What the heck is that you may ask?
Before started explaining What is what? Let us introduce today’s era buzzword DevOps. What is DevOps? Thanks for such a great article. Please go through it.
This term is not specific to android only. They are generic we can use them with any of the technology.
Working on the big organization and enterprise app development. Working with large teams in an agile process it could be very hard to track the development progress, code integration, code review & deployment process. Always learn from the past experience that’s 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.
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 & especially product based 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 organization, 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 the 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 is 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