• contacto@softwarecamp.mx

Ventajas de la Integración Continua

¿Conoces las ventajas de la Integración Continua en el desarrollo de software?

Desarrollar productos de software no es un proceso trivial. Con tiempos de entrega más exigentes, arquitecturas de software más complejas y diversidad de sistemas que interactúan, el ciclo de vida del desarrollo de software se ha complicado.

En la actualidad, cualquier entidad que desarrolle software debe adoptar enfoques ágiles en sus procesos de desarrollo. Y es que en las metodologías ágiles una de las prioridades es la satisfacción del cliente, a través de entregas tempranas y continuas de software que tengan alto valor.

En este sentido, el enfoque de Integración Continua tiene como propósito, a través de disciplinas y herramientas, entregar reiteradamente software probado y funcionando. Se define como una práctica de desarrollo de software donde los miembros del equipo integran su trabajo frecuentemente. Cada integración se verifica con un build automático, que incluye la ejecución de pruebas, para detectar errores tan pronto como sea posible.




El objetivo de la Integración Continua es automatizar las tareas que son repetitivas (compilación, ejecución de pruebas, construcción, despliegue, documentación).
Algunas disciplinas y herramientas que se usan en la Integración Continua son:

  • Control de Versiones. Requisito fundamental que permite a un equipo trabajar de forma sincronizada. Las herramientas más comunes son Subversion (SVN), Git, SourceSafe, Team Fundation Server.
  • Commits diarios. Una vez que tenemos un control de versiones es recomendable que el almacenamiento de los cambios sea diario y continuo.
  • Build diario. También es recomendable tener una versión compilada y probada del sistema al final del día.
  • Pruebas unitarias. Comprobar que el proyecto funciona correctamente y automatizar el proceso con pruebas unitarias.
  • Herramientas de construcción. Existen diferentes herramientas dependiendo del lenguaje de programación, en Java están Ant o Maven, en Ruby está Rake. En .NET ya existen diversas opciones en el Team Fundation Server.
  • Herramientas de integración. Son herramientas que permiten realizar la compilación automática y ejecución de pruebas integradas al control de versiones. Algunas de las más usadas son Jenkins o CruiseControl.

En conclusión, adoptar el enfoque de Integración Continua permite reducción del tiempo de integración, así como detección tempranda de errores y pruebas automatizadas cuando se libera una nueva versión del código.

 

No olvides descargar nuestro catálogo de cursos 2015-2016 para tu empresa o equipo de trabajo.