¿Número de versión del software en VCS o en el server de continuous integration?

A menudo, discuto con mi equipo de desarrollo cómo crear un buen flujo de trabajo de entrega para nuestros productos, pero siempre enfrentamos las mismas preguntas con respecto a la versión. Durante la continuous integration, ¿quién es responsable de mantener y escribir la versión del software? VCS o server de integración? ¿U otro?

Cualquier apreciación de estrategias comprobadas será apreciada.

Más profundamente, nuestro producto es un poco como Microsoft Office; un set compuesto por varias aplicaciones conectadas entre sí por algunas bibliotecas comunes.

Hasta ahora, nuestro server de integración está manteniendo el próximo número de versión de la suite, y está escribiendo este número de versión para todas las aplicaciones de la suite.

Ventajas:

  • Inmediatamente sabemos qué aplicaciones son compatibles juntas
  • Fácil de configurar

Desventajas:

  • No vemos qué aplicación tiene nuevas características / corrección de errores
  • Al corregir una aplicación publicada previamente, el número de versión del server de integración no es correcto
  • Algunas aplicaciones nuevas pueden ser compatibles con las versiones de versiones anteriores, pero no las vemos