Integración Continua: Primer contacto
Que es Integración Continua
Integración
continua,
es un proceso del desarrollo de software, que permite la integración de los
cambios que realizan los equipos de desarrollo en el sistema de control de
software y genera un build que
se utilizará para realizar pruebas integradas del software y de está forma
garantizar la detección rápida de posibles fallos.
La
integración continua es parte importante de la Gestión de la Configuración ya que automatiza procesos de la SCM como
por ejemplo el control de versiones
La
principal herramienta para implementar el proceso de integración continua que utilizamos es Jenkins.
Integración Continua, como parte de la Gestión de la
Configuración
La Gestión de la Configuración
(SCM)
se puede definir como un proceso cuya objetivo es
dotar al proyecto de la
suficiente robustez como para que en todo momento se pueda
conocer la evolución
del mismo.
A partir de sus objetivos, se puede definir:
- Evaluar y controlar los cambios, es decir controlar la evolución del sistema software
- Facilitar la visibilidad sobre el producto
- Establecer
y mantener la integridad de los
productos generados
durante un proyecto
de desarrollo de software y a lo largo de todo el ciclo de vida del producto, todo esto
significa que el producto cumple las siguientes condiciones:
de desarrollo de software y a lo largo de todo el ciclo de vida del producto, todo esto
significa que el producto cumple las siguientes condiciones:
- Satisface las necesidades del usuario (cumple todos los requisitos del usuario)
- Cumple los requisitos de rendimiento
- Se puede trazar la evolución del producto desde su inicio y durante todas las fases del ciclo de vida.
Que problemas resuelve la Integración Continua
- La
última versión del proyecto no es conocida por todos los equipos
- No se
conoce realmente en que estado se encuentra el proyecto
- Las
funcionalidades se prueban de forma independiente
Beneficios para el desarrollo de software
- El
proceso de integración continua permite compilar todo el software en un
servidor
distinto a los ordenadores de los desarrolladores y detectar errores
de compilación y evitar
el “en mi entorno local compilaba bien” o “la función,
método, etc en
mi equipo
funcionaba bien”.
- Minimiza
el tiempo de desarrollo y mejora la eficiencia
- Facilidad
y rapidez para generar builds,
teniendo disponible siempre un build para
pruebas, demos, etc
pruebas, demos, etc
- Permite
realizar pruebas integradas en un entorno similar al futuro entorno de
producción
- Permite
obtener métricas de calidad de software
No hay comentarios