Como configurar un servidor Jenkins para deploys de aplicaciones en Android

Introducción
Jenkins es una herramienta de integración continua, que es open source. Podes encontrar el código fuente de Jenkins en Github.

Cuando un equipo de desarrollo se ayuda de Jenkins (basado sobre Hudson), es que la cadena de producción ya es cubierta por varias herramientas que pueden ser consultadas via un servicio web y que se encargue de los deployments de los proyectos Android que mantenemos activos. Sobre todo cuando se requiere por ejemplo un issue-tracking, un wiki, y a la vez se puede usar herramientas de control de versiones, implementar modulos como Findbugs, o con Emma o Cobertura para el code coverage como control de calidad para pruebas unitarias.

La instalación
Podes instalar Jenkins a traves del apt-get en linux, o descargarlo desde su página.
Lo corres por console con java o lanzando el programa Jenkins en windows o Mac OS.

$ java -jar jenkins.war

Luego abrimos la url:

http://localhost:8080/

Y ya se debería abrir la interfaz web de Jenkins.

Plugins
Para instalar los plugins en el directorio tools desde la página local:

http://localhost:8080/pluginManager/

O sino simplemente dejarlos en $JENKINS_HOME/plugins y iniciar jenkins. Existen un buen nombre de plugins, aquí en el wiki se puede encontrar una lista amplia.

Y aquí una Lista de plugins para el desarrollo en Android.

Control de versiones
Para agregar tus proyectos a jenkins, se puede enlazar tu proyecto a un repositorio de control de versiones.A través de la interfaz de Jenkins vas a encontrar las opciones de como usar SVN, Mercurial, GIT, y subir los códigos con tareas programadas de compilación.

Pruebas unitarias
El gran interes de crear tareas con Jenkins es poder ejecutar previamente sus proyectos con pruebas unitarias. Estas pruebas son muy útiles para validar el buen funcionamiento de su código. El hecho de tener estas tareas automatizables es el paso importante hacía una integración continua. En las configuraciones de tu proyecto vas a poder ejecutar pruebas con la API de Monkey ( api para pruebas en dispositivos) o validación de tu código con Junit.

Android Emulator Plugin
Se instala como un plugin desde la interfaz web, por ejemplo. Este plugin tiene mucho sentido en Android porque se puede interactuar con un emulador que se va a crear y ejecutar a traves de una tarea programada,  y/o de una determinada versión de tu proyecto. Los logs van a ser guardados en los históricos y accesibles via Jenkins.

Otra cosa que tienen los emuladores de Android. es que pueden ser ejecutados con el argumento sin ventana.

-no-window

En el panel de configuración de un determinado proyecto en Jenkins, vas a encontrar la opción de “show emulator window”. Desactivala. Luego todas las pruebas unitarias se pueden ejecutar a traves del shell. Y generar un reporte.

Aquí van mas capturas de pantallas de las opciones que vas a encontrar en la configuración de un proyecto:

administradores de emuladores

invoke ant en jenkins
invoke ant en jenkins

generacion de apk en jenkins
Generacion de apk

Referencias: Configuring jenkins

papachan

papachan

Consultor IT y desarollador Java de aplicaciones Móviles sobre la plataforma Android, actualmente reside en Bogota Colombia. Con una experiencia en desarrollo internet de +10 años, se ha involucrado como desarollador senior en varias empresas de desarrollos y servicios en Internet. Ahora es desarrollador Android en Tappsi.co
papachan
papachan

About papachan

Consultor IT y desarollador Java de aplicaciones Móviles sobre la plataforma Android, actualmente reside en Bogota Colombia. Con una experiencia en desarrollo internet de +10 años, se ha involucrado como desarollador senior en varias empresas de desarrollos y servicios en Internet. Ahora es desarrollador Android en Tappsi.co
This entry was posted in Android. Bookmark the permalink.

2 Respuestas a “Como configurar un servidor Jenkins para deploys de aplicaciones en Android”

  1. En el panel de configuración de un determinado proyecto en Jenkins, vas a encontrar la opción de “show emulator window”. Desactivala. Luego todas las pruebas unitarias se pueden ejecutar a traves del shell. Y generar un reporte.

Deja un comentario

  • Facebook AndroidCol