Bye bye jenkins welcome bots
-
Upload
juan-antonio-martin -
Category
Technology
-
view
844 -
download
1
description
Transcript of Bye bye jenkins welcome bots
Bye, Bye Jenkins. Welcome Bots
Integración Continua en Xcode 5
T1 - C1
{ “me”: {“speaker” : “Juan A. Martin”, “company”: “CloudOnMobile”, “contact”: { “mail”:”[email protected]”, "twitter":"@byjuanamn", "skype":"by-juanamn" }
}
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
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.
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.
Integración Continua
• Un sistema de integración continua debe proporcionar monitorización y métricas
• Complejidad de código
• Cobertura
• etc……
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
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
Concetos
Conceptos
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
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
Nuevos Amigos
• OS X Server (Mavericks).
• Nuevo servicio para Xcode
• Centralización de testing
• Repositorios
• Dispositivos
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
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
Nuevos Amigos
• OS X Server (Mavericks).
• Repositorios
• Repositorios alojados en el propio servidor (solo git)
• Repositorios remotos SVN o Git (ssh, https)
Nuevos Amigos
• Demo configuración Server
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
Nuevos Amigos
Nuevos Amigos
Nuevos Amigos• Xcode
• Nuevas opciones de configuración de cuentas
• Creación de Bots
• Informes de las builds y resultado de los Test
• Commits y logs
• Descargar de builds
• Resultado de los test
• etc.
• Integración con control de versiones
Nuevos Amigos
• Demo Xcode
Nuevos Amigos
• Configuración de cuentas en Xcode
Nuevos Amigos
Nuevos Amigos
Tenemos que hacer Checkout del
repositorio que queremos usar
Nuevos Amigos
Si tenemos Bots para el proyecto,
esta sería su apariencia.
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
Nuevos Amigos
• Web Application
• Ver los mismo informes
• Tenemos posibilidad de ver y distribuir builds
• solo para developers
• Vista de panel de control (Scoreboard)
Nuevos Amigos
• Web Application
• Vista de panel de control (Scoreboard)
• Dont panic! esto no es útil para un usuario de negocio
Siguientes Pasos
• Integración con otras piezas claves en la fase de desarrollo
• Testflight
• Crashlytics
Nuevos Amigos
• Demo web application
Muchas gracias!{ “me”: {“speaker” : “Juan A. Martin”, “company”: “CloudOnMobile”, “contact”: { “mail”:”[email protected]”, "twitter":"@byjuanamn", "skype":"by-juanamn" }
}