Bye bye jenkins welcome bots

1,194 views
1,066 views

Published on

Visión general de Xcode 5 y Bots, como hacer integración continua sin usar herramientas de terceros.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,194
On SlideShare
0
From Embeds
0
Number of Embeds
579
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Bye bye jenkins welcome bots

  1. 1. Bye, Bye Jenkins. Welcome Bots Integración Continua en Xcode 5 T1 - C1 { “me”: {“speaker” : “Juan A. Martin”, “company”: “CloudOnMobile”, “contact”: { “mail”:”juan.antonio.martin@gmail.com”, "twitter":"@byjuanamn", "skype":"by-juanamn" } }
  2. 2. Indice • Visión rápida de IC • Conceptos generales Bots • Los nuevos amigos • OS X Server + Xcode 5 • Configuración • Web Scoreboard • Demo (micro) • Siguientes pasos
  3. 3. Integración Continua • ¿qué es integración continua? • Modelo informático propuesto por Martin Fowler que consiste en hacer integraciones automáticas de un proyecto con la mayor frecuencia posible, con el fin de detectar fallos lo antes posible. • Es integración el binomio “Compilación+Testing” de todo un proyecto.
  4. 4. Integración Continua • El proceso es sencillo: el código del proyecto es descargado desde un gestor de versiones en un punto común y a través de alguna “aplicación” es realizada la integración • Hay varias “aplicaciones” en el mercado: • Bamboo de Atlasian • Continuum The Apache Software Foundation • CruiseControl, codigo abierto (para Java) y CruiseControl.NET • Team Foundation Server 2012, Microsoft.Jenkins, código libre.
  5. 5. Integración Continua • Un sistema de integración continua debe proporcionar monitorización y métricas • Complejidad de código • Cobertura • etc……
  6. 6. Integración Continua • ¿Por qué Integración Continua? • Testing en multiples versiones de OS y dispositivos • Punto único de construcción, análisis y test de nuestros proyectos • Descargar y centralizar en un servidor estas tareas tan poco glamurosas
  7. 7. Integración Continua • ¿Por qué Integración Continua? • Disponer de una información historíca de nuestros proyectos • Centralizar la distribución de nuestras builds
  8. 8. Concetos
  9. 9. Conceptos
  10. 10. Conceptos • Schema: es el esquema del proyecto (settings, link, etc..) • Bots: Analiza, construye, testea, genera build. Todo de manera planificada • Integration: Es la ejecución de un bot
  11. 11. Conceptos • Define “qué” tiene que construir • • recopila información del proyecto y del control de versiones Cuando construir • Bajo demanda (manual), dale al play! • Planificado, p.e. cada 10 minutos • Después de un Commit -> este es el que mola
  12. 12. Nuevos Amigos • OS X Server (Mavericks). • Nuevo servicio para Xcode • Centralización de testing • Repositorios • Dispositivos
  13. 13. Nuevos Amigos • OS X Server (Mavericks). • Emplea Bonjour • Gestión sencilla para crear y administrar bots que generen builds para iOS y Mac • Configuración de acceso para creadores de bots y consumidores • Solo es necesario incluir a los miembros del equipo de desarrollo en la configuración de este servicio
  14. 14. Nuevos Amigos • OS X Server (Mavericks). • Dispositivos • Podemos añadir dispositivos • Podemos preparar los test para ser ejecutamos en multiples dispositivos con distintas versiones de OS
  15. 15. Nuevos Amigos • OS X Server (Mavericks). • Repositorios • Repositorios alojados en el propio servidor (solo git) • Repositorios remotos SVN o Git (ssh, https)
  16. 16. Nuevos Amigos • Demo configuración Server
  17. 17. Nuevos Amigos • OS X Server (Mavericks) resumen demo. • Instalar Server • Activar el servicio Xcode • Seleccionar Xcode.app • Añadir miembros del equipo • Añadir repos
  18. 18. Nuevos Amigos
  19. 19. Nuevos Amigos
  20. 20. Nuevos Amigos • Xcode • Nuevas opciones de configuración de cuentas • Creación de Bots • Informes de las builds y resultado de los Test • • Descargar de builds • Resultado de los test • • Commits y logs etc. Integración con control de versiones
  21. 21. Nuevos Amigos • Demo Xcode
  22. 22. Nuevos Amigos • Configuración de cuentas en Xcode
  23. 23. Nuevos Amigos
  24. 24. Nuevos Amigos Tenemos que hacer Checkout del repositorio que queremos usar
  25. 25. Nuevos Amigos Si tenemos Bots para el proyecto, esta sería su apariencia.
  26. 26. Nuevos Amigos • Web Application • Podemos ver nuestro proyecto fuera de Xcode! • Tenemos acceso a todos los Bots de nuestro servidor de integración • Podemos crear y editar Bots
  27. 27. Nuevos Amigos • Web Application • Ver los mismo informes • Tenemos posibilidad de ver y distribuir builds • • solo para developers Vista de panel de control (Scoreboard)
  28. 28. Nuevos Amigos • Web Application • Vista de panel de control (Scoreboard) • Dont panic! esto no es útil para un usuario de negocio
  29. 29. Siguientes Pasos • Integración con otras piezas claves en la fase de desarrollo • Testflight • Crashlytics
  30. 30. Nuevos Amigos • Demo web application
  31. 31. Muchas gracias! { “me”: {“speaker” : “Juan A. Martin”, “company”: “CloudOnMobile”, “contact”: { “mail”:”juan.antonio.martin@gmail.com”, "twitter":"@byjuanamn", "skype":"by-juanamn" } }

×