Parte de una serie sobre |
Desarrollo de software |
---|
La automatización de la compilación es la práctica de compilar sistemas de software de una manera relativamente desatendida. La compilación se configura para ejecutarse con una interacción mínima o nula del desarrollador de software y sin utilizar la computadora personal del desarrollador . La automatización de la compilación abarca el acto de configurar el sistema de compilación y el sistema resultante en sí.
La automatización de la compilación abarca tanto la secuenciación de operaciones de compilación a través de herramientas de interfaz no interactivas como la ejecución de compilaciones en un servidor compartido . [1]
Las herramientas de automatización de compilación permiten secuenciar las tareas de compilación de software mediante una interfaz no interactiva. Se pueden utilizar herramientas existentes, como Make, 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 de programación declarativa orientada a tareas . Codifican secuencias de comandos para ejecutar con una lógica condicional mínima.
Algunas herramientas, como Make, están orientadas al producto. Crean un producto, también conocido como objetivo, en función de dependencias configuradas. [2]
Un servidor de compilación es un servidor configurado para ejecutar compilaciones. A diferencia de una computadora personal, un servidor permite un entorno de compilació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 una computadora personal. Hoy en día, existen muchos sitios web de computación en la nube y software como servicio (SaaS) para compilar.
Sin un servidor de compilación, la compilación generalmente depende de que los desarrolladores utilicen sus computadoras personales, lo que tiene muchos inconvenientes, entre los que se incluyen los siguientes: Los desarrolladores que saben cómo compilar pueden estar de vacaciones. La máquina del desarrollador puede tener un problema que impida la compilación. La máquina del desarrollador puede tener otro software instalado que interfiera 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, generalmente en cada confirmación de código. Un servidor de compilación también puede incorporarse a una herramienta ARA o ALM .
Las opciones típicas de activación de compilación incluyen:
La automatización del proceso de compilación es un paso necesario para implementar la integración continua y la entrega continua (CI/CD), todas ellas consideradas como las mejores prácticas para el desarrollo de software. [3] [ ¿Cómo? ]
Las ventajas de la automatización de la compilación incluyen: [4]
{{cite web}}
: CS1 maint: archived copy as title (link)