Automatizacion De Build

De Dos Ideas.
Revisión del 21:41 24 jul 2008 de 201.251.185.130 (discusión) (Página nueva: ===Contexto=== Un proyecto de desarrollo que necesita compilar y construir un software. Ese software se puede constituir de centenas de archivos conteniendo código fuente, como tamb...)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Contexto

Un proyecto de desarrollo que necesita compilar y construir un software. Ese software se puede constituir de centenas de archivos conteniendo código fuente, como también otros componentes y frameworks de terceros.

Problema

Un proceso de construcción de software que normalmente contiene diversos pasos manuales y repetitivos. Eso lleva a un proceso largo de generación de software y que el mismo sea suceptible de errores humanos.

Fuerzas

  • Es preciso garantizar que un build siempre sea realizado de la misma forma y conteniendo todos los pasos.
  • La construcción de software a través de un ambiente de desarrollo puede generar diferencias de productos debido a las configuraciones individuales de cada desarrollador.
  • Un build completo y limpio puede demorar mucho tiempo para realizarse.

Solución

Utilice una herramienta de build que, a partir de scripts o archivos XML, ejecute con apenas un único comando todo el proceso de construcción de un software.

Para reducir el riesgo que un desarrollador pierda mucho tiempo para realizar un build a cada alteración del código fuente es posible adoptar diferentes tipos de builds automatizados. Es posible crear un script que realice un build incremental, esto es, que se compila y reconstruye códigos nuevos o alterados. De este modo es posible ejecutar un build completo apenas cuando es considerado necesario por el paso del tiempo.

Para construir un build automatizado de su software realice los siguientes pasos:

  • Cuando un desarrollador realiza la construcción manualmente, otro toma nota de los pasos que definen la construcción.
  • Escoja una herramienta de build.
  • Escriba el script incrementalmente. Elimine las operaciones manuales una a una.
  • Ejecute el script en otras máquinas para testear que funciona independientemente de la estación de trabajo.
  • A partir de este momento utilice siempre el script para compilar y construir el software-

Raciocinio

La construcción de un software es repetitiva y debe ser hecha frequentemente en un proyecto. La realización manual de un build puede generar errores de retrabajo.

La automatización reduce el tiempo que los desarrolladores gastan en tareas repetitivas y aumenta el tiempo de respuesta de todo el equipo. También facilita la integración de todos los códigos, componentes y frameworks utilizados en un proyecto.

Contexto Resultante

El proyecto posee un script automatizado de build, con la aplicación de este patrón. Este script permite repetir la construcción de software con un único comando. Esto da confianza al equipo de que siempre podrá realizar la construcción de software de manera efectiva.

Con el script de build y el Control De Versiones funcionando es posible implementar la Integracion Continua.

Para la Automatizacion De Instalacion es posible incrementar el script de build.

La automatización de build puede incluir la ejecución de Automatizacion De Pruebas Unitarias, de Automatizacion De Pruebas De Aceptacion y de la Automatizacion De Metricas De Producto.

Patrones Relacionados

Herramientas

Herramientas Para Automatizacion De Build

Reconocimientos

  • (BERCZUK e APPLETON, 2002)
  • (CLARK, 2004)
  • (COCKBURN, 2004a)
  • (FOGEL, 2005)
  • (MCCONNELL, 2004)
  • (RICHARDSON e GWALTNEY, 2005)
  • (SCHUH, 2005)