¿Qué características necesitan los servidores de compilación para soportar la infraestructura de construcción, además de la integración continua del software de construcción?

Me gustaría agregar una arruga, esto también depende del ámbito del software. Por ejemplo, ¿se está compilando y agregando software en imágenes para hardware? Las aplicaciones web “simples” son mucho más fáciles de usar y probar. La compilación cruzada / las cadenas de herramientas también pueden dificultar las cosas.

Trabajo en forma integrada y, a menudo, lanzamos imágenes completas de firmware que contienen software de todo tipo y de terceros. La imagen finalizada debe implementarse y distribuirse, pero también debe incluirse en el hardware; este último es difícil de incrustar. El hecho de que esté compilado no significa que funcione ( tm ).

Aquí está mi lista de compras:

  • Capacidad para distribuir imágenes o tarballs / zips que contienen todo
  • Capacidad para compilar a partir de diferentes fuentes.
  • Posibilidad de crear documentación automatizada.
  • Capacidad para aplicarse sin cabeza sobre el hardware sin grandes esfuerzos
  • Hardware rápido: compilar cadenas de herramientas desde cero es brutal. Se requieren múltiples núcleos, RAM y SSD.

Desde el punto de vista de la interfaz de usuario, debe tener sentido y estar completamente equipado bajo el capó. Odio a Jenkins por esto … es una locura en comparación con GIT Lab.

Básicamente está hablando de “implementación continua”. Esencialmente, necesita vincular su servidor de compilación a un sistema de administración en la nube, por ejemplo, para activar una máquina virtual e implementar su código en ella.

Eche un vistazo a gitlab.com y busque en google “jenkins virtual machine plugins” para obtener algunas ideas.