17
Integración Continua CI (continuous integration)

CI integración continua

Embed Size (px)

Citation preview

Page 1: CI   integración continua

Integración ContinuaCI (continuous integration)

Page 2: CI   integración continua

http://es.wikipedia.orgLa integración continua (continuous integration en inglés)

es un modelo informático propuesto inicialmente por Martin

Fowler que consiste en hacer integraciones automáticas de

un proyecto lo más a menudo posible para así poder

detectar fallos cuanto antes. Entendemos por integración la

compilación y ejecución de pruebas de todo un proyecto.

Page 3: CI   integración continua

¿Quien es Martin Fowler?

Él --->

http://es.wikipedia.org/wiki/Martin_Fowler

Page 4: CI   integración continua

¿Qué es CI?Es una práctica de desarrollo, consiste en subir el código a un repositorio varias veces al día. Cada subida es verificada por un proceso automatizado permitiendo que los equipos detecten los problemas a tiempo.

Page 5: CI   integración continua

¿Que beneficios tiene CI?

Page 6: CI   integración continua

● Reducir riesgos y tiempo● Reducir procesos repetitivos manuales● Crear una versión de software mediante un proceso

conocido, confiable, probado, versionado y repetible.

● Mejorar la visibilidad del estado del proyecto.● Lograr una mayor autoconfianza y seguridad en el

equipo de desarrollo.● Mejorar la calidad de código.

Page 7: CI   integración continua

CI no garantiza que funcione todo en PROD.

Page 8: CI   integración continua

Pero sí minimiza riesgos y garantiza el control de determinadas tareas en cada nueva entrada al repositorio.

Page 9: CI   integración continua

¿Qué herramientas usar para implementar CI ?

http://www.continuousintegrationtools.com/?opensource

Las vedettes: Jenkins (https://jenkins-ci.org/) Plugin para Jira

Travis CI (https://travis-ci.org/)Bamboo (https://es.atlassian.com/software/bamboo)← by Atlassian

Page 10: CI   integración continua

Los usos más populares:

● Validar Sintaxis.● Validar estilo de codigo (Code Style).● Ejecutar Test Unitarios/Funcionales/Integración.● Automatización de despliegue. (Deploy).● Automatizar mantenimiento y despliegue de

entornos a otras unidades de negocio.

Page 11: CI   integración continua

Jenkins

Page 13: CI   integración continua

¿Porqué Jenkins?

● Jenkins tiene una suite de plugins que permite enfocarse en el proceso a automatizar.

● Tiene un desarrollo activo, ya esta la segunda versión.

● Encontrar soporte de otros usuarios por su popularidad.

● Tiene el plugin de Chuck Norris.

Page 14: CI   integración continua

Instalacion de JenkinsDebian:Agregar apt key:wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -

Agregar sources list:echo deb http://pkg.jenkins-ci.org/debian binary/ >> /etc/apt/sources.list.d/jenkins.list

Actualizar e instalar:sudo apt-get update

sudo apt-get install jenkins

http://pkg.jenkins-ci.org/debian/

Page 15: CI   integración continua

Configurar la primer tarea en Jenkins

- Indicar el nombre.- Una breve descripción.- Cuantas versiones almacenar.- Agregar un repositorio.- Indicar que debe monitorear.- Cada cuanto monitorear.- Las tareas a realizar en cada ejecución.- Indicar a quien notificar.

Page 16: CI   integración continua

Practica...

Page 17: CI   integración continua

Eso es todo!

Mariano G. Egui@EguiMariano

[email protected]