CI integración continua
-
Upload
mariano-german-egui -
Category
Software
-
view
232 -
download
0
Transcript of CI integración continua
Integración ContinuaCI (continuous integration)
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.
¿Quien es Martin Fowler?
Él --->
http://es.wikipedia.org/wiki/Martin_Fowler
¿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.
¿Que beneficios tiene CI?
● 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.
CI no garantiza que funcione todo en PROD.
Pero sí minimiza riesgos y garantiza el control de determinadas tareas en cada nueva entrada al repositorio.
¿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
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.
Jenkins
http://es.wikipedia.org
Jenkins es un software de Integración continua open source escrito en Java. Proporciona integración continua para el desarrollo de software. Es un sistema corriendo en un servidor como Apache Tomcat. Soporta herramientas de control de versiones como CVS, Subversion, Git ...
¿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.
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/
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.
Practica...
Eso es todo!
Mariano G. Egui@EguiMariano