Hi everyone! after few of months working on JS & and building a low level linux service which interacts with depth sensor, I got chance to working on Android base system to build input drivers.

When I started working on it, building kernel module didn’t take much time but observed that building a new Android base system was a manual process. Anyone new in team has to spend some time to understand how to trigger build.

I’m a big fan of Cyanogenmod, and looking at how they build and distribute ROM for many devices I felt we can improve our system. So I took this up and setup a Jenkins server on a local machine. Migrating our custom build script was straight forward as its a bash script.

Compared to our previous system, we now have a UI which anyone can access and access latest builds and check compilation logs. Another cool thing about setting it up on Jenkins is that we can now automatically publish it on our file server and send out an email to everyone with link to download it. This also helps our testing team to easily download ROM and flash it on board.

Jenkins also fetches commit messages and I configured Jenkins to send change log as part of mail body. Overall, everyone is very after moving to Jenkins.