Integración contínua
Jenkins
Guatemala 2014
César Hernández CesarHernandezGt
@CesarHgt
CesarHernandezGt
El problema
...un ejemplo
Parte básica del ciclo
de vida del software
New
Feature
Bug Fix
Codificación Integración Configuración
Despliegue
Pruebas
Unitarias
Pruebas
Integración
Pruebas
Regresión
Pruebas
Funcionales
Pruebas de
carga
Nuevo
Release
Cuando algo sale mal
New
Feature
Bug Fix
Codificación Integración Configuración
Despliegue
Pruebas
Unitarias
Pruebas
Integración
Pruebas
Regresión
Pruebas
Funcionales
Pruebas de
carga
Nuevo
Release
Problemas
● Falta de automatización
● Poca visibilidad
● Versinoamiento nulo o escazo
● Comunicación reactiva
● No hay agilidad en el ciclo
● Alto tiempo de release
Problemas
Resolviendo el problema
parcialmente
New
Feature
Bug Fix
Codificación Integración Configuración
Despliegue
Pruebas
Unitarias
Pruebas
Integración
Pruebas
Regresión
Pruebas
Funcionales
Pruebas de
carga
Nuevo
Release
Resolviendo el problema
parcialmente
New
Feature
Bug Fix
Codificación Integración Configuración
Despliegue
Pruebas
Unitarias
Pruebas
Integración
Pruebas
Regresión
Pruebas
Funcionales
Pruebas de
carga
Nuevo
Release
Jenkins
CI Server
Jenkins
● Herramienta que monitorea la ejecución
repetitiva de Tareas (Jobs)
● Actualmente utilizado en:
○ Construir y probar software de manera contínua
○ Monitorear la ejecución de Jobs externos
● Altamente extendible por medio de pluggins
● Defacto en la industria como servidor de
Integración Contínua
Ventajas
● Prevención y reducción de errores al lanzar
a producción (Reducción del riesgo).
● Generación de análisis y presentación de
informes sobre el estado del código.
● Aseguramiento de la Calidad
● Permite una mayor visibilidad del proyecto.
Mejores prácticas
● https://wiki.jenkins-ci.
org/display/JENKINS/Jenkins+Best+Practice
s
Demo

Integración contínua con Jenkins