Skip to main content

Setting up Android nightly builds using Jenkins

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.


Popular posts from this blog

Getting Started with Rancher & Kubernetes

During my time working at Azoi (a startup), I was responsible for maintaining Gitlab for my team along with various other self-hosted internal services. When I first setup Gitlab in 2013, it was quite a task, as setting it up would involve configuring various services using provided scripts and a lot of luck. Fortunately, I found Bitnami Gitlab package to make that process easier. However initial setup is one thing and keeping up with the latest releases was a nightmare.

Fast forward to 2016, I joined eInfochips as Solutions Consultant. Where one of my responsibilities was to modernize development workflow and encourage DevOps culture. It made sense to use Gitlab specially for Gitlab-runner and since this was a fresh setup, I explored few options to setup Gitlab, I found that Gitlab monthly releases were now published as Docker images. So I decided to use Gitlab docker image to host gitlab-ce internally. This time around, the experience was very different, initial setup and upgrading…

Rancher for Microservices : Load Balancing and Scaling Containers.

In my previous post, we saw how easy it is to set up Kubernetes cluster using Rancher. Once you have a cluster up and running, next step is to deploy your microservices on the cluster. In this post, we’ll look at how to deploy, run and scale a docker image on your cluster. We’ll also look at setting up an L7 load balancer to distribute traffic between multiple instances of your app.

Let’s create a simple HTTP service which returns server hostname & current version of the binary (hardcoded). I’ve used go-lang for this, below is code snippet which returns hostname and service version.

All it does is, returns a string "App Version 2.0 running on host: <hostname>", once deployed it will return container hostname.

Next step is to dockerize our service by generating a docker image and push it to DockerHub (or your private Docker registry), below is Dockerfile I used to dockerize this service.

Running this will compile our service and generate a docker image on local mac…