I recently setup jenkins for CI at RHC. We have quite a few number of projects going on, and continuos integration should definitely do us good.
I started out with an Ubuntu 14.04 LTS installation on one of our not-so-regularly-used PCs.
This was pretty straight forward as I was on stock Ubuntu.
wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
I downloaded the latest SDK for Linux tar from here. Extracted it and set the path (which was kind of useless as I'll explain later).
The next step was to update the SDK and it has a neat provision if I want to do it from the command line instead of launching android as widget. Simply run :
android list sdk --all
This will give you something like the following screenshot :
Selectively install the packages that you want by mentioning the package numbers
android update sdk -u -a -t 1,2,3,4,20,21,22
This is pretty neat for command line fans, and was a discovery for me.
It's pretty easy to install plugins on Jenkins. Point and shoot types. I installed the following plugins :
The gradle plugin is a bit nascent, and couldn't look for my ANDROID_HOME or ANDROID_SDK or pretty much anything ANDROID_*.
During the setup for the build, in a new job, I added sdk.dir=/home/user/android-sdk and ANDROID_HOME=/home/user/android-sdk
Apart from that, everything else is pretty standard. I added the GitHub URL to our app and made it fetch the code each time a build was initiated.
Plenty more things to be done. Among other things, need to get it integrated into Slack.