El servidor de compilación ejecuta el proceso de compilación y, a menudo, también el conjunto de pruebas completo. Las operaciones generalmente se componen de los siguientes pasos:
- Verifique la última versión del código fuente desde un repositorio de código remoto, en el cual los desarrolladores del equipo con frecuencia comprometen su trabajo / código.
- Ejecuta el proceso que convierte (compila) el código fuente en código ejecutable, ya sea código binario o bytecode en el caso de lenguajes de máquinas virtuales (Java, Scala, C #, etc.). Puede haber uno o varios componentes / ejecutables que se deben producir a partir del código fuente, el servidor de compilación debe crear el conjunto completo de componentes que comprende un sistema. (Cualquier error de compilación en esta etapa detendrá el resto del proceso de construcción, los desarrolladores y las partes interesadas serán notificados por correo electrónico, texto, fuente RSS, etc.)
- La producción de ejecutables también podría incluir el empaquetado de código / activos no binarios, como scripts, textos; y de ejecutables binarios de terceros (generalmente llamados bibliotecas). El proceso de empaquetado a menudo separa el código de prueba del código de producción en diferentes paquetes.
- Con los ejecutables producidos, el servidor ahora está listo para ejecutar todos los casos de prueba de unidad, casos de prueba funcionales y casos de prueba de regresión. En un sistema grande, podría haber miles de casos de prueba para ejecutar y evaluar los resultados de la prueba. Al final de la ejecución de la prueba, generalmente se producirá algún tipo de informe de prueba y se enviarán notificaciones (correo electrónico, fuente RSS, etc.) al equipo de desarrollo y a otras partes interesadas.
- Tras un resultado de prueba exitoso, los ejecutables se pueden publicar en una ubicación común (sitio web, servidor FTP, etc.). Para una aplicación web, también podría implicar la implementación automática de ejecutables en un servidor de aplicaciones.
- La compilación programada por la noche bien podría publicarse automáticamente en un sitio público accesible para el consumo de la comunidad. Aquí se publica un ejemplo como Eclipse nightly build: Eclipse Project Download
Estas son las actividades típicas que ocurren en un servidor de compilación, por supuesto, hay variaciones y adiciones dependiendo del tipo de código fuente y tipo de aplicaciones (aplicación de escritorio, aplicación móvil, aplicación web, etc.). Y hay muchos servidores y sistemas de compilación modernos que automatizan todos los detalles del proceso de construcción, empaquetado, prueba e implementación para lograr una entrega continua, lo cual es crucial para mejorar enormemente la calidad del producto y el tiempo de comercialización.
Ejemplos de servidor de compilación:
1. Integración continua y servidor de compilación – Bamboo
2. ¡Bienvenido a Jenkins CI!
3. Integración continua de Hudson
- ¿Cuál es el número máximo de transistores en un solo chip (hasta la fecha / hasta ahora)?
- ¿Cómo es ser ingeniero de software en Egipto?
- ¿Cuáles son los signos reveladores de una persona que no ha aprendido a programar correctamente a pesar de que lo ha estado haciendo durante años?
- En una empresa de tecnología, ¿cuál es la diferencia entre un director / compañero de ingeniería y un gerente de ingeniería (Sr / Dir / VP)?
- ¿Cuáles son buenas herramientas de prueba para API?