Build Automático

Definición

En el contexto del desarrollo de software, build se refiere al proceso que convierte archivos y otros activos bajo la responsabilidad de los desarrolladores en un producto de software en su forma final o consumible. La construcción puede incluir:

  • Compilación de archivos fuente
  • Empaquetar archivos compilados en formatos comprimidos (como jar, zip)
  • La producción de instaladores
  • Crear o actualizar el esquema o los datos de la base de datos

La compilación se automatiza cuando estos pasos son repetibles, no requieren intervención humana directa y pueden realizarse en cualquier momento sin más información que la almacenada en el repositorio de control de código fuente.

Beneficios Esperados

La automatización de la construcción es un requisito previo para el uso eficaz de la integración continua. Sin embargo, trae sus propios beneficios:

  • Eliminar una fuente de variación y, por lo tanto, de defectos; un proceso de construcción manual que contenga un gran número de pasos necesarios ofrece la misma cantidad de oportunidades para cometer errores
  • Exigir una documentación completa de las suposiciones sobre el entorno de destino y de la dependencia de productos de terceros.

Obstáculos comunes

  • La práctica de la automatización de la construcción no debe confundirse con la integración continua: esta última consiste en “ejecutar” el proceso de construcción con la mayor frecuencia posible (idealmente siempre que se compruebe un cambio de código en el repositorio de control de código fuente) y “verificar” la exactitud del producto resultante, en particular mediante pruebas unitarias,
  • En particular, las herramientas de integración continua (CruiseControl, Hudson, etc.) son una categoría distinta de las herramientas de automatización de edificios (make, Ant, Maven, rake, etc.).
  • Por lo general, no basta con poder iniciar algunas operaciones de compilación desde un entorno de desarrollo (IDE): como a menudo ocurre que algunas operaciones de compilación no son compatibles con el IDE, debe ser posible realizar una compilación fuera del IDE.
  • La duración de un proceso de construcción debe ser inferior a diez minutos, incluida la ejecución de pruebas automatizadas; más allá de este orden de magnitud, generalmente será difícil para el equipo lograr una integración continua

Orígenes

  • 1977: creación de la herramienta “make” para sistemas Unix – el principio de automatización de las construcciones de software no es una idea nueva
  • Años 90: debido al aumento de la popularidad de las herramientas RAD y de los IDEs, las herramientas de tipo “make” adquieren una reputación mixta.
  • 2000: aunque la práctica está lejos de ser nueva, ni se limita a los equipos ágiles, es en parte debido a las prácticas ágiles que se produce un resurgimiento de la automatización de la construcción de tipo “make

Señales de uso

La mejor manera de determinar si un equipo practica la automatización de la construcción es una prueba sorpresa: pida al equipo que le proporcione una versión instalable del producto. Mida el tiempo necesario para obtener una versión y, a continuación, intente instalarla o implementarla en un PC o entorno disponible, que no haya sido configurado previamente por el equipo de desarrollo. Cualquier “sorpresa” durante este proceso sugerirá formas de mejorar el proceso de construcción automatizado.

Deja un comentario

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar