CI Server for Android

The current application development, CI required. Also Android.
My CI experience stands for maybe lamp, centos5.x, 64bit. Android and iOS is against another environment. iOS requires mac. mac? This is another story. Android’s android.test can assert on simulator. Android simulator requires 32bit libraries. 32bit libs into 64bit is possible, but it is not right way. And simulator also requires glibc greater than v2.7. So totally, ubuntu 32bit or fedora 32bit machine requires.

The Other way:
I consider Ecosystem Hosting, but first I choice my own vps. I worry ssh access, switch user jenkins, access to scm repos, commit hook, and source control.

I choice fedora 32bit, because I familiar with redhat os. Below is my history.
fedora13 minimal -> fedora14 32bit jenkins env — Gist

Minimal install confuse me! Below is highlight.
99 man iptables
101 sudo yum list *man*
102 sudo yum install man-pages
110 sudo yum install man-db

Finally, I created 32bit jenkins environment. Jenkins, nginx and postfix.


Recognize IS05 from guest fedora14 on VirtualBox

Only add new udev config file to guest os, guest can recognize IS05.

My environment:
VirtualBox 4.0.4
Host: Fedora13 64bit
Guest: Fedora14 32bit

First I shutdown guest VM. I connect micro-USB code.
At VirtualBox menu on host, I check ON at USB device, sharp.
Next I start guest VM. Then I check ON at USB device, sharp. This is on guest.

I add udev config file on guest.
Using Hardware Devices | Android Developers

$ sudo touch /etc/udev/rules.d/51-android.rules
$ sudo vi /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="04dd", MODE="0666"

Sharp is vendor of IS05. So a vendor id is “04dd”.
Last I reboot guest VM. Guest completely recognize IS05.

Install Android SDK to Fedora14 64bit

Install Android SDK to Fedora14 64bit. I did it accoding to these articles.

Parhaps OK, but bit differences exist. One is 32bit yum. Other is additional PATH.

$ diff -c ./written.txt ./i-wrote.txt
*** ./written.txt       2011-03-30 02:09:02.547377986 +0900
— ./i-wrote.txt       2011-03-30 02:09:51.240378233 +0900
*** 1 ****
! yum install glibc.i686 glibc-devel.i386 libstdc++.i386 zlib-devel.i386 ncurses-devel.i386 libX11-devel.i386 libXrender.i386 libXrandr.i386
— 1 —-
! yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686 libXau-devel.i686 libxcb-devel.i686


$ diff -c ./bash_profile-before.txt ./bash_prrofile-after.txt
*** ./bash_profile-before.txt   2011-03-30 02:15:08.906411458 +0900
— ./bash_profile-after.txt    2011-03-30 02:15:41.099378785 +0900
*** 1,2 ****
! PATH=$PATH:/opt/android-sdk:/opt/android-sdk/tools
export PATH
— 1,2 —-
! PATH=$PATH:/opt/android-sdk:/opt/android-sdk/platform-tools
export PATH

I do not want to install so many i686 libraries to my 64bit machine!