pricing online engine delivery android testing build automation continuous-integration

online - Integración continua para Android a través de TeamCity. ¿Herramientas preferidas?



jenkins online (2)

Ant ( http://ant.apache.org/ ) es prácticamente el estándar de facto para la creación de proyectos Java. Cuenta con un lenguaje de scripting muy fácil de aprender e incluso puede usarse para implementar su aplicación en múltiples objetivos.

Para las pruebas automatizadas, la mayoría de los desarrolladores de java usan jUnit ( http://www.junit.org/ ). Aunque no es tan transparente como el marco de pruebas de Ruby on Rails, las pruebas jUnit sí permiten el desarrollo basado en pruebas.

Maven ( http://maven.apache.org/what-is-maven.html ) es más bien un meta-programa que puede usar scripts ant y ejecutar sus pruebas jUnit. Es cierto que las hormigas también se pueden usar para ejecutar las pruebas jUnit, pero Maven hace un buen trabajo al juntar todo eso así como a proporcionar una funcionalidad adicional (ejemplo: la capacidad de encontrar automáticamente dependencias externas y descargarlas).

Si bien no estoy familiarizado con TeamCity, me sorprendería si no tuviera una manera de integrarse con ant / maven / junit.

¡La mejor de las suertes!

Nuestro equipo es nuevo para el desarrollo de Android y Java (originalmente, venimos de C ++), por lo tanto, nuestro conocimiento sobre las herramientas de construcción para Java es bastante superficial.

Hay pocas herramientas de compilación que se pueden usar para la automatización de compilaciones, y las más interesantes que encontré fueron hormigas y peregrinos. Y aunque hay muchos artículos sobre automatización de compilaciones, no encontré ningún tutorial completo sobre la automatización del proceso de integración para aplicaciones de Android.

Estaría muy agradecido si pudiera indicar su herramienta de compilación preferible para Android y explicar o proporcionar enlaces que expliquen el proceso de integración continua de las aplicaciones de Android (que cubren no solo la creación de paquetes de aplicaciones, sino también la ejecución de pruebas bajo el emulador).

Muchas gracias por su tiempo y asistencia.

PD: estamos utilizando Team City como el servidor de integración continua.


Estamos construyendo nuestra plataforma de integración continua para Android usando lo siguiente:

Maven - para gestionar el ciclo de compilación / prueba de unidad / prueba de integración / despliegue Hudson - para una integración continua

Team City también ejecutará proyectos de Maven: es bastante sencillo configurar un agente de TeamCity para ejecutar un objetivo específico de Maven, por ejemplo, mvn integration-test : el agente podría estar ejecutándose en una PC con un emulador de Android o un dispositivo Android real conectado.

En el pasado he tenido todo un banco de agentes de TeamCity probando contra hardware diferente. Por ejemplo, si tiene 5 dispositivos Android conectados a un agente, puede configurar el canal de construcción de TeamCity para ejecutar las pruebas de integración (controladas fácilmente a través de Maven) en los 5 dispositivos y declarar un PASS solo cuando pasan todos los 5.