Nuestro producto de software está hecho de muchas partes. Digamos que está hecho de una parte del controlador del kernel, un dll de usuario y un software GUI. Durante el desarrollo, los compilamos y los usamos a todos en las últimas versiones, pero no es lo mismo cuando se trata del lanzamiento.¿Qué herramientas existen para ayudar a reunir varios elementos de software en una versión de software completa?
De hecho, la parte del kernel debe congelarse mucho antes que la otra. Entonces, el dll está congelado, para ser ampliamente probado, y congelado por última vez es la GUI. A medida que avanza el control de calidad, debemos crear versiones más nuevas de la versión completa con una GUI fija, pero aún utilizando el controlador kernel incluido previamente y dll.
Me preguntaba si existía alguna herramienta que pudiera administrar ¿qué versión de cada parte de software se usa para crear una versión?
Esta herramienta posiblemente se integrará en la cadena de herramientas, para construir la versión de cada software seleccionado y reunirlos en un instalador de Windows o paquetes de Linux.
Editar: ¿Cómo estamos?
A partir de ahora, estamos utilizando SVN con buildbot como herramienta de CI para Linux/gcc y Windows/VStudio. Estamos en el modo en el que todo el repositorio está ramificado/etiquetado según sea necesario. Pero esto duele y hace que el proceso de liberación sea doloroso ahora que hay cada vez más partes de software relativamente independientes.
Estamos pensando en cambiar el diseño del repositorio para que tenga varios proyectos independientes ramificados/etiquetados. Este sería un ajuste mucho mejor para el desarrollo del software y el ciclo de lanzamiento. Pero entonces, absolutamente necesitaríamos tal herramienta.
El problema está relacionado con tener diferentes piezas de software, cada una con sus propias versiones ramificadas/etiquetadas, reunidas en una versión de software completa.
Editar: Lo que se necesita.
Al final, entendí que lo que necesito es un administrador de paquetes para Windows. Administrador de paquetes en el sentido de administrador de RPM o DEB en Linux.
¿Alguien sabe de un administrador de paquetes en Windows?
He visto esto manejado a través del control de versiones con ramificación apropiada, herramientas de integración continua y scripts de compilación. ¿Qué estás usando actualmente para construir tu sistema? –
@ThomasOwens: Respondida en la edición de la pregunta. –
Gracias. Déjame pensar sobre esto por un momento. Trataré de responder cuando tenga una respuesta y algunos ciclos de repuesto. –