Granja de servidores configurada para compilar programas informáticos de forma remota
Una granja de compilación es una granja de servidores , una colección de uno o más servidores , que se ha configurado para compilar programas informáticos de forma remota por diversas razones. Los usos de una granja de compilación incluyen:
- Desarrollo multiplataforma : al escribir software que se ejecuta en múltiples arquitecturas de procesadores y sistemas operativos , puede resultar inviable que cada desarrollador tenga su propia máquina para cada arquitectura; por ejemplo, una plataforma puede tener un tipo de CPU costoso u oscuro . En este escenario, una granja de compilación es útil como herramienta para que los desarrolladores creen y prueben su software en un servidor compartido que ejecuta el sistema operativo y la CPU de destino. Las granjas de compilación pueden ser preferibles a la compilación cruzada , ya que los compiladores cruzados suelen ser complicados de configurar y, en algunos casos, la compilación solo es posible en el destino, lo que hace que la compilación cruzada sea imposible.
- Pruebas de integración continua multiplataforma : en este escenario, cada servidor tiene una arquitectura de procesador diferente o ejecuta un sistema operativo diferente; los scripts crean automáticamente la última versión de un árbol de código fuente a partir de un repositorio de control de versiones . Una de las dificultades del desarrollo multiplataforma es que un programador puede introducir involuntariamente un error que haga que el software deje de funcionar en una plataforma de CPU/SO diferente a la que está utilizando. Al utilizar una granja de compilación multiplataforma, se pueden identificar y corregir dichos errores.
- Compilación distribuida : la creación de paquetes de software normalmente requiere operaciones que se pueden ejecutar en paralelo (por ejemplo, compilar archivos de código fuente individuales). Al utilizar una granja de compilación, estas operaciones se pueden ejecutar en paralelo en máquinas separadas. Un ejemplo de un programa que se puede utilizar para hacer esto es distcc .
Un ejemplo de una granja de compilación fue el servicio proporcionado por SourceForge hasta 2006. La granja de compilación de SourceForge estaba compuesta por doce máquinas de varias arquitecturas informáticas que ejecutaban una variedad de sistemas operativos , y estaba destinada a permitir a los desarrolladores probar y usar sus programas en una variedad de plataformas antes de lanzarlos al público. Después de que un pico de energía destruyera varias de las máquinas [1], dejó de funcionar en algún momento de 2006 y se suspendió oficialmente [2] en febrero de 2007.
Otros ejemplos son:
- Granja de compilación GCC https://gcc.gnu.org/wiki/Build_farm/CompileFarm
- Servicio de compilación de OpenSUSE
- Servicio de informes de FreeBSD que permite a los mantenedores de paquetes probar sus propios cambios en una variedad de versiones y arquitecturas.
- Granja de construcción de Launchpad https://launchpad.net/builders
- Mozilla tiene una granja de compilación, pero no es pública https://wiki.mozilla.org/ReleaseEngineering
- Debian tiene una granja de compilación https://buildd.debian.org/
- Granja de compilación OpenCSW para Solaris x86 y Sparc
Referencias
- ^ "SourceForge.net". sitedocs.sourceforge.net . Archivado desde el original el 19 de septiembre de 2008.
- ^ Smørgrav, Dag-Erling (20 de mayo de 2007). "El fin de SourceForge tal como lo conocemos". Puede contener rastros de pernos . Archivado desde el original el 18 de mayo de 2018. Consultado el 18 de mayo de 2018.
La granja de compilación ya no existe. SourceForge la suspendió en febrero, sin previo aviso
.