Bye bye jenkins welcome bots

Post on 25-May-2015

844 views 1 download

description

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

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”:”juan.antonio.martin@gmail.com”, "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”:”juan.antonio.martin@gmail.com”, "twitter":"@byjuanamn", "skype":"by-juanamn" }

}