• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Desmontando a Jenkins :-)
 

Desmontando a Jenkins :-)

on

  • 1,069 views

Intro a Integración continua en IOS a través de Jenkins.

Intro a Integración continua en IOS a través de Jenkins.

Statistics

Views

Total Views
1,069
Views on SlideShare
760
Embed Views
309

Actions

Likes
0
Downloads
11
Comments
0

1 Embed 309

http://codewriter.tumblr.com 309

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Desmontando a Jenkins :-) Desmontando a Jenkins :-) Presentation Transcript

  • Jenkins
  • Desmontando a Jenkins Integración continua para IOS Juan Antonio Martín codewriter.tumblr.com @byjuanamn
  • Agenda• Un poquito de Integración Continua (CI)• Jenkins desde la distancia• Gang of four• Demo pero rapidita
  • CI• ¿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.
  • CI• 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. El mejor, pero para IOS está aún verde :-( • Y por supuesto Jenkins, código libre.
  • CI• Un sistema de integración continua debe proporcionar monitorización y metricas • Complejidad de código • Cobertura • etc..
  • Jenkins• Jenkins o Hudson....hasta el 2009 era un producto de Sun, pero open source. En ese año Oracle compró Sun y entre otras muchas cosas pasó a ser el propietario del código fuente de Hudson.• En 2011, el proyecto se bifurca y una parte importante de los desarrolladores del proyecto crean Jenkins... Hudson es marca registrada de Oracle
  • Jenkins: primeros pasos• Instalación y configuración sencilla• Escrito en Java, pero no es solo para Java• más de 400 plugins para extender el comportamiento base (Xcode, Git, Emma, etc...)
  • Jenkins: primeros pasos desde la distancia Instalación y configuración:• Descargar de http://mirrors.jenkins-ci.org/war/latest/ jenkins.war• Despues solo hay que abrir un terminal y escribir: • $ java -jar jenkins.jar• Y ya está....
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos desde la distancia
  • Jenkins: primeros pasos y ahora de cerca.• Jenkins no tiene un Job especifico para xCode• Tenemos que estar familiarizados con las herramientas en linea de xCode para hacer los scripts necesarios para automatizar la integración • xcodebuild • xcode-select • xcrun
  • Jenkins: primeros pasos y ahora de cerca.• Para generar las builds• Para generar la app para ser distribuida
  • Gang of Four camino al Shangri La
  • Gang of Four camino al Shangri La• El flujo que podría seguir un proyecto para IOS un escenario de integración continua estaría compuesto: • xCode... • Gestor de Versiones de código fuente, GitHub • Herramienta de CI: Jenkins • Distribución de Builds a usuarios de testing: TestFlight•
  • Demo
  • Trucos, Reflexiones y Q&A• Trucos: Infraestructura,Versiones xCode, certificados, scripting y blogs interesantes• Reflexiones: • Hay muchos entornos de CI, la mayoria muy validos • Pero es muy importante aplicar TDD desde el inicio del proyecto...
  • Referencias• http://kohsuke.org• http://jenkins-ci.org