Una compilación diaria o una compilación nocturna es la práctica de completar diariamente una compilación de software de la última versión de un programa. Esto es para que primero pueda compilarse para garantizar que todas las dependencias requeridas estén presentes y posiblemente probarse para mostrar que no se han introducido errores . La compilación diaria también suele estar disponible públicamente, lo que permite acceder a las últimas funciones para recibir comentarios. En este contexto, una compilación es el resultado de compilar y vincular todos los archivos que componen un programa.. El uso de procedimientos tan disciplinados como las compilaciones diarias es particularmente necesario en organizaciones grandes donde muchos programadores están trabajando en una sola pieza de software. Realizar compilaciones diarias ayuda a garantizar que los desarrolladores puedan trabajar sabiendo con certeza razonable que cualquier error nuevo que aparezca es el resultado de su propio trabajo realizado en el último día.
Las compilaciones diarias generalmente incluyen un conjunto de pruebas, a veces llamadas " prueba de humo ". Estas pruebas se incluyen para ayudar a determinar qué puede haberse roto debido a los cambios incluidos en la última versión. La pieza fundamental de este proceso es incluir pruebas nuevas y revisadas a medida que avanza el proyecto.
Construcciones de integración continua
Aunque las compilaciones diarias se consideraban una de las mejores prácticas de desarrollo de software en la década de 1990, ahora han sido reemplazadas. La integración continua ahora se ejecuta de forma casi continua, con un tiempo de ciclo típico de alrededor de 20-30 minutos desde el último cambio en el código fuente. Los servidores de integración continua monitorean continuamente el sistema de control del código fuente . Cuando estos servidores detectan nuevos cambios, utilizan una herramienta de compilación para reconstruir el software. Hoy en día, una buena práctica también es utilizar la integración continua como parte de las pruebas continuas , de modo que las pruebas unitarias se vuelvan a ejecutar para cada compilación y las pruebas funcionales más extensas (que tardan más en realizarse que la compilación) se realizan con la frecuencia que su duración lo permita.
Ver también
enlaces externos
- Mejores prácticas de software de IEEE en Steve-McConnell
- Joel-en-software
- compilaciones diarias de ubuntu, actualizadas casi todos los días , un buen ejemplo de lo que es una compilación diaria