Jenkins est un outil d’intégration continue permettant de compiler et valider des applications. Il s’intègre avec diverses applications, que ce soit JAVA, C/C++ ou bien d’autres langages. Nous allons ici étudier la compilation d’une application Android sous FreeBSD, celle-ci nécessitant un peu de tuning.
Installez tout d’abord les paquets jenkins, gradle, apache-ant et linux_base-c6 et bash
pkg install jenkins gradle linux_base-c6 bash apache-ant
Créez ensuite un lien symbolique pour bash dans /bin
ln -s /usr/local/bin/bash /bin/bash
Téléchargez ensuite le SDK Android ici et extrayez le dans /usr/local
cd /usr/local
tar xvzf android-sdk_r24.0.2-linux.tgz
Lancez la commande suivante afin de visualiser les SDK dont vous avez besoin:
/usr/local/android-sdk-linux/tools/android list sdk -u
Puis téléchargez les composants qui vous intéressent (ici toutes les API de Android 4.0 à 5.0)
/usr/local/android-sdk-linux/tools/android update sdk --filter 1,2,4,5,6,7,8,9,10,11,34,35,36,37,38,39,40,41,42 -u
Téléchargez maintenant les outils de compilation Android, puisque le SDK Android ne reconnait pas encore FreeBSD et copiez les dans le répertoire dédié du SDK (changez la version dans le répertoire final par celle que vous avez)
https://dl-ssl.google.com/android/repository/build-tools_r21.1-linux.zip
unzip build-tools_r21.1-linux.zip
cp -R android-5.0/* /usr/local/android-sdk-linux/build-tools/21.1.2/
Enfin changez les droits sur le SDK Android afin d’autoriser jenkins à utiliser tous les outils.
chown -R jenkins:jenkins /usr/local/android-sdk-linux
Lancez maintenant le service Jenkins et connectez vous à l’URL http://jenkins.instance:8180
service jenkins start
Créez ensuite un nouveau projet en mode FreeStyle, configurez votre repository source et les options de compilation suivantes: Celles ci vont configurer le fichier local.properties pour gradle, mettre à jour le projet si nécessaire puis appeler ANT afin d’effectuer le build android.
Vous pouvez désormais compiler vos applications Android avec FreeBSD. Veuillez noter que la configuration reste très proche sous Linux, à l’exception de la couche émulation.
https://wiki.jenkins-ci.org/display/JENKINS/Building+an+Android+app+and+test+project http://zewaren.net/site/?q=node/125