La integración continua

y el camino al continuous delivery

Adela Tort

@AdelaTort

Adela Tort

Mamá y Java Senior Developer

Colaboradora del Barcelona Java Users Group & Tech&Ladies Barcelona

Seguidora del movimiento de la artesanía del software y aspirante a Software Craftman

@AdelaTort

https://www.linkedin.com/in/adelatort

adela.tort@gmail.com

Integración continua

  • ¿Qué es la integración continua?
  • Principios de la integración continua
  • Beneficios de la integración contina

El camino al continuous delivery

  • ¿Qué es el continuous delivery?
  • ¿Por qué implantar continuous delivery?
  • Cómo implantar continuous delivery
  • ¿Cuándo estás haciendo continuous delivery?

¿Qué es la integración continua?

"Práctica de desarrollo software donde los miembros del equipo integran su trabajo frecuentemente, al menos una vez al día. Cada integración se verifica con un build automático (que incluye la ejecución de pruebas) para detectar errores de integración tan pronto como sea posible"

Martin Fowler

http://www.martinfowler.com/articles/continuousIntegration.html

Principios de la integración continua

  • Un único repositorio de código
  • Build automatizado
  • Ejecución de pruebas 
  • Commits diarios
  • Pasar integración en cada commit
  • Solucionar errores de integración tan pronto como sea posible

Beneficios de la integración continua

  • Productos de mayor calidad reducción de la aparición de fallos y control del código en todo momento.

 

  • Detección y solución de problemas de integración de forma continua, evitando problemas de última hora.

 

  • Disposición en todo momento de ejecutables del proyecto, permitiendo realizar pruebas y demos de lo hecho en cualquier momento del desarrollo.

     

  • Monitorización de métricas de calidad.

¿Qué es el continuous delivery?

La Entrega Continua es un conjunto de buenas prácticas para que el software sea construido de manera rápida y segura y que pueda estar disponible en producción en cualquier momento.

 

¿Por qué implantar continuous delivery?

  • Estabilidad y confianza en el proceso de despliegue y lanzamiento
  •  

     

  • Reducción del riesgo de despliegue
  •  

     

  • Reducción del Time-to-Resolve
  •  

     

  • Feedback continuo
  •  

     

  • Mejora de la satisfacción del usuario

Cómo implantar continuous delivery

¿Qué necesitamos?

Deployment Pipeline

  • Automatizacón de todas las posibles parte del proceso de entrega

DevOps

  • Colaboración entre desarrollo y operaciones

Deployment Pipeline

  • Control de versiones
  •  

  • Integración continua
  •  

  • Pruebas automatizadas /extensivas
  •  

  • Despliegues automatizados

Etapas

Deployment Pipeline

DevOps

DevOps (Development&Operations) es la cultura o movimiento que se centra en la comunicación, colaboración e integración entre desarrolladores de software y los profesionales de operaciones en las tecnologías de la información (IT).

¿Cuándo estás haciendo continuous delivery?

  • El código es deployable durante todo el ciclo de vida
  •  

  • El equipo prioriza mantener el código deployable por encima de hacer nuevas funcionalidades
  •  

  • Se puede deployar con solo apretar un botón cualquier versión de software en cualquier entorno y en cualquier momento

Preguntas

Barcelona, 16-17-18 Junio 2016

www.jbcnconf.com

Made with Slides.com