La automatización de compilación es el proceso de automatizar la creación de una compilación de software y los procesos asociados, que incluyen: compilar el código fuente de la computadora en código binario , empaquetar código binario y ejecutar pruebas automatizadas .
Históricamente, la automatización de la compilación se lograba mediante archivos MAKE . Hoy en día, existen dos categorías generales de herramientas: [1]
Dependiendo del nivel de automatización es posible la siguiente clasificación:
Puede encontrar una lista de software para cada uno en la lista de software de automatización de compilación .
Las utilidades de automatización de compilación permiten la automatización de tareas simples y repetibles. Al utilizar la herramienta, calculará cómo alcanzar la meta ejecutando las tareas en el orden correcto y específico y ejecutando cada tarea. Las dos formas en que se diferencian las herramientas de creación son: orientadas a tareas y orientadas a productos. Las herramientas orientadas a tareas describen la dependencia de las redes en términos de un conjunto de tareas específico y las herramientas orientadas a productos describen cosas en términos de los productos que generan. [2]
Aunque los servidores de compilación existieron mucho antes que los servidores de integración continua, generalmente son sinónimos de servidores de integración continua; sin embargo, un servidor de compilación también puede incorporarse a una herramienta ARA o ALM .
Tipos de servidor
La automatización se logra mediante el uso de una granja de compilación para la compilación distribuida o la ejecución del paso de la utilidad. [3] El proceso de compilación distribuida debe tener inteligencia artificial para comprender las dependencias del código fuente para ejecutar la compilación distribuida.
La automatización de la compilación se considera el primer paso hacia la implementación de una cultura de entrega continua y DevOps . La automatización de la compilación combinada con la integración continua , la implementación , la automatización del lanzamiento de aplicaciones y muchos otros procesos ayudan a que una organización avance en el establecimiento de las mejores prácticas de entrega de software. [4] [¿ cómo? ]
Las ventajas de la automatización de la compilación para proyectos de desarrollo de software incluyen
{{cite web}}
: CS1 maint: archived copy as title (link)