fbpx
Wikipedia

Integración continua

La integración continua (continuous integration en inglés) es una práctica de ingeniería de software 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.

El proceso suele ser: cada cierto tiempo (horas), descargarse las fuentes desde el control de versiones (por ejemplo CVS, Git, Subversion, Mercurial o Microsoft Visual SourceSafe) compilarlo, ejecutar pruebas y generar informes.

Para esto suelen utilizarse aplicaciones como Travis CI, Solano CI, Bamboo, Pipeline, Apache Continuum, Hudson, Jenkins, GoCD, CruiseControl o Anthill (para proyectos Java) o CruiseControl.Net, Team Foundation Build para .Net, que se encargan de controlar las ejecuciones, apoyadas en otras herramientas como Ant o Maven (también para proyectos Java), o Nant o MSBUILD (para .Net) que se encargan de realizar las compilaciones, ejecutar las pruebas y realizar los informes.

A menudo la integración continua está asociada con las metodologías de programación extrema y desarrollo ágil.

Historia

El trabajo más temprano conocido con integración continua fue el entorno Infuse (Infuse environment) desarrollado por G.E. Kaiser, D.E. Perry y W.M. Schell. [1]

En 1994, Grady Booch uso la frase integración continua en Análisis y diseño orientado a objetos con aplicaciones (2nda edición) para explicar como, cuando se desarrolla utilizando micro procesos, "liberaciones internas representan una forma continua de integración del sistema, y existe para forzar a dar cierre a los micro procesos".

En 1997, Kent Beck y Ron Jeffries definieron el concepto de Extreme Programming (XP) mientras trabajaban en el Chrysler Comprehensive Compensation System project, incluyendo integración continua.[2]​ Beck publicó sobre integración continua en 1998, haciendo énfasis en la importancia de la comunicación cara a cara sobre la asistida por tecnología.[3]​ En 1999, Beck elaboró más en su primer libro completo sobre Extreme Programming.[4]

CruiseControl, es una de las primeras herramientas de código libre,[5]​ y fue lanzada en 2001.

Ventajas

  • Los desarrolladores pueden detectar y solucionar problemas de integración de forma continua, evitando el caos de última hora cuando se acercan las fechas de entrega.
  • Disponibilidad constante de una versión para pruebas, demos o lanzamientos anticipados.
  • Ejecución inmediata de las pruebas unitarias.
  • Monitorización continua de las métricas de calidad del proyecto.

Véase también

Referencias

  1. Kaiser, G.E. (22 de septiembre de 1989). «Infuse: fusing integration test management with change management». IEEE. doi:10.1109/CMPSAC.1989.65147. Consultado el 5 de noviembre de 2018. 
  2. «Continuous Integration». 
  3. «Extreme Programming: A Humanistic Discipline of Software Development». 
  4. Beck, Kent (1999). Extreme Programming Explained. ISBN 978-0-201-61641-5. 
  5. «A Brief History of DevOps, Part III: Automated Testing and Continuous Integration». CircleCI. 1 de febrero de 2018. Consultado el 19 de mayo de 2018. 

Enlaces externos

  • Artículo de Martin Fowler
  • Pragmatic Automation: Libro o
  • Continuous Integration Tools Directory
  • Enlace al artículo Aprende a implantar integración continua desde 0
  • La integración continua desde el punto de vista del desarrollador
  • Integración continua rápida y sencilla con GitLab CI
  •   Datos: Q965769
  •   Multimedia: Continuous integration

integración, continua, integración, continua, continuous, integration, inglés, práctica, ingeniería, software, consiste, hacer, integraciones, automáticas, proyecto, más, menudo, posible, para, así, poder, detectar, fallos, cuanto, antes, entendemos, integraci. La integracion continua continuous integration en ingles es una practica de ingenieria de software que consiste en hacer integraciones automaticas de un proyecto lo mas a menudo posible para asi poder detectar fallos cuanto antes Entendemos por integracion la compilacion y ejecucion de pruebas de todo un proyecto El proceso suele ser cada cierto tiempo horas descargarse las fuentes desde el control de versiones por ejemplo CVS Git Subversion Mercurial o Microsoft Visual SourceSafe compilarlo ejecutar pruebas y generar informes Para esto suelen utilizarse aplicaciones como Travis CI Solano CI Bamboo Pipeline Apache Continuum Hudson Jenkins GoCD CruiseControl o Anthill para proyectos Java o CruiseControl Net Team Foundation Build para Net que se encargan de controlar las ejecuciones apoyadas en otras herramientas como Ant o Maven tambien para proyectos Java o Nant o MSBUILD para Net que se encargan de realizar las compilaciones ejecutar las pruebas y realizar los informes A menudo la integracion continua esta asociada con las metodologias de programacion extrema y desarrollo agil Indice 1 Historia 2 Ventajas 3 Vease tambien 4 Referencias 5 Enlaces externosHistoria EditarEl trabajo mas temprano conocido con integracion continua fue el entorno Infuse Infuse environment desarrollado por G E Kaiser D E Perry y W M Schell 1 En 1994 Grady Booch uso la frase integracion continua en Analisis y diseno orientado a objetos con aplicaciones 2nda edicion para explicar como cuando se desarrolla utilizando micro procesos liberaciones internas representan una forma continua de integracion del sistema y existe para forzar a dar cierre a los micro procesos En 1997 Kent Beck y Ron Jeffries definieron el concepto de Extreme Programming XP mientras trabajaban en el Chrysler Comprehensive Compensation System project incluyendo integracion continua 2 Beck publico sobre integracion continua en 1998 haciendo enfasis en la importancia de la comunicacion cara a cara sobre la asistida por tecnologia 3 En 1999 Beck elaboro mas en su primer libro completo sobre Extreme Programming 4 CruiseControl es una de las primeras herramientas de codigo libre 5 y fue lanzada en 2001 Ventajas EditarLos desarrolladores pueden detectar y solucionar problemas de integracion de forma continua evitando el caos de ultima hora cuando se acercan las fechas de entrega Disponibilidad constante de una version para pruebas demos o lanzamientos anticipados Ejecucion inmediata de las pruebas unitarias Monitorizacion continua de las metricas de calidad del proyecto Vease tambien EditarCI CDReferencias Editar Kaiser G E 22 de septiembre de 1989 Infuse fusing integration test management with change management IEEE doi 10 1109 CMPSAC 1989 65147 Consultado el 5 de noviembre de 2018 Continuous Integration Extreme Programming A Humanistic Discipline of Software Development Beck Kent 1999 Extreme Programming Explained ISBN 978 0 201 61641 5 A Brief History of DevOps Part III Automated Testing and Continuous Integration CircleCI 1 de febrero de 2018 Consultado el 19 de mayo de 2018 Enlaces externos EditarArticulo de Martin Fowler Pragmatic Automation Libro o Web Continuous Integration Tools Directory Enlace al articulo Aprende a implantar integracion continua desde 0 La integracion continua desde el punto de vista del desarrollador Integracion continua rapida y sencilla con GitLab CI Datos Q965769 Multimedia Continuous integration Obtenido de https es wikipedia org w index php title Integracion continua amp oldid 138930601, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos