Desmontando a Jenkins :-)

1,247 views

Published on

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

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

  • Be the first to like this

No Downloads
Views
Total views
1,247
On SlideShare
0
From Embeds
0
Number of Embeds
328
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \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 :-)

    1. 1. Jenkins
    2. 2. Desmontando a Jenkins Integración continua para IOS Juan Antonio Martín codewriter.tumblr.com @byjuanamn
    3. 3. Agenda• Un poquito de Integración Continua (CI)• Jenkins desde la distancia• Gang of four• Demo pero rapidita
    4. 4. 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.
    5. 5. 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.
    6. 6. CI• Un sistema de integración continua debe proporcionar monitorización y metricas • Complejidad de código • Cobertura • etc..
    7. 7. 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
    8. 8. 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...)
    9. 9. 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á....
    10. 10. Jenkins: primeros pasos desde la distancia
    11. 11. Jenkins: primeros pasos desde la distancia
    12. 12. Jenkins: primeros pasos desde la distancia
    13. 13. Jenkins: primeros pasos desde la distancia
    14. 14. Jenkins: primeros pasos desde la distancia
    15. 15. Jenkins: primeros pasos desde la distancia
    16. 16. Jenkins: primeros pasos desde la distancia
    17. 17. Jenkins: primeros pasos desde la distancia
    18. 18. Jenkins: primeros pasos desde la distancia
    19. 19. Jenkins: primeros pasos desde la distancia
    20. 20. Jenkins: primeros pasos desde la distancia
    21. 21. 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
    22. 22. Jenkins: primeros pasos y ahora de cerca.• Para generar las builds• Para generar la app para ser distribuida
    23. 23. Gang of Four camino al Shangri La
    24. 24. 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•
    25. 25. Demo
    26. 26. 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...
    27. 27. Referencias• http://kohsuke.org• http://jenkins-ci.org

    ×