La automatización de la construcción es la práctica de construir sistemas de software de forma relativamente desatendida. La compilación está configurada para ejecutarse con interacción mínima o nula del desarrollador de software y sin utilizar la computadora personal del desarrollador . La automatización de la construcción abarca el acto de configurar el sistema de construcción, así como el sistema resultante en sí.
La automatización de compilaciones abarca tanto la secuenciación de operaciones de compilación a través de una interfaz no interactiva ( herramientas de interfaz de línea de comandos ) como la ejecución de compilaciones en una computadora compartida (un servidor ) . [1]
Las herramientas de automatización de compilación permiten secuenciar las tareas de creación de software a través de una interfaz no interactiva. Las herramientas existentes, como Make, se pueden utilizar mediante un archivo de configuración personalizado o parámetros de línea de comandos. También se pueden utilizar herramientas personalizadas, como scripts de shell.
Algunas herramientas, como los scripts de shell , son programación declarativa orientada a tareas . Codifican secuencias de comandos para ejecutar con una lógica condicional generalmente mínima.
Algunas herramientas, como Make, están orientadas al producto. Crean un producto, también conocido como objetivo, basado en dependencias configuradas. [2]
Un servidor de compilación es una configuración de servidor para ejecutar compilaciones. A diferencia de una computadora personal, un servidor permite un entorno de construcción más consistente y disponible.
Tradicionalmente, un servidor de compilación era una computadora local dedicada como recurso compartido en lugar de usarse como computadora personal. Hoy en día, existen muchos sitios web de computación en la nube y software como servicio (SaaS) para crear.
Sin un servidor de construcción, la construcción generalmente depende de que los desarrolladores utilicen sus computadoras personales, lo que tiene muchos inconvenientes, que incluyen, entre otros: Los desarrolladores que saben cómo construir pueden estar de vacaciones. La máquina del desarrollador puede tener un problema que impide la construcción. Es posible que la máquina del desarrollador tenga otro software instalado que entre en conflicto con la compilación adecuada.
Un servidor de integración continua es un servidor de compilación que se configura para compilar de forma relativamente frecuente, a menudo en cada confirmación de código. También se puede incorporar un servidor de compilación a una herramienta ARA o ALM .
Las opciones típicas de activación de compilación incluyen:
Automatizar el proceso de construcción es un paso necesario para implementar la integración y la entrega continuas (CI/CD), todas las cuales se consideran las mejores prácticas para el desarrollo de software. [3] [ ¿cómo? ]
Las ventajas de la automatización de la construcción incluyen: [4]
{{cite web}}
: CS1 maint: archived copy as title (link)