Pregunta

Estamos desarrollando una aplicación con componentes en múltiples niveles físicos, compartiendo muchos ensambles y teniendo algunos exclusivos para cada nivel.

Quiero saber cuál es la estrategia de control de versiones típica para las revisiones de lanzamiento, o solo algunos componentes de la aplicación.

Nuestro software de seguimiento de problemas contiene un número de versión para todo el producto. Si la versión actual es 1.4.5 y se requiere una revisión, los problemas para la revisión se publicarán en 1.4.6. Todos los ensamblados afectados por las correcciones para 1.4.6 tienen la versión 1.4.6. Si distribuimos solo esos archivos, terminamos con algunos archivos en la versión 1.4.5 y algunos en 1.4.6.

Una solución podría ser reconstruir y lanzar la aplicación completa como 1.4.6, pero esto requeriría que se volvieran a desplegar múltiples componentes en las múltiples máquinas y resultara en un tiempo de inactividad innecesario de los componentes que realmente no cambiaron.

¿Qué estrategias han implementado las personas para este problema? ¿Es solo cuestión de aceptar que algunos archivos tendrán números de versión diferentes? En el pasado, descubrí que esto causa confusión con el equipo de soporte al cliente (nivel 1).

¿Fue útil?

Solución

Usted plantea una pregunta interesante.

Es realmente una decisión de política que debe tomar para decidir cuál será su estrategia de implementación y versión, y considerar las compensaciones de varios factores (algunos de los cuales ya ha notado, como la confusión del cliente).

Una de las cosas que puede hacer es desacoplar el lanzamiento y el control de versiones de sus niveles individuales, lo que le permitiría tener versiones consistentes dentro de un nivel con una sobrecarga de implementación de revisión reducida. También necesitaría factorizar los ensamblajes comunes en un paquete separado y una versión independiente también.

Esto puede ser excesivo, por lo que una alternativa sería hacer que su versión sea más fácil de entender. Por ejemplo, puede reservar una parte de su número de versión para indicar las revisiones. Por ejemplo, si 1.4.5.0 es la versión oficial, la revisión sería 1.4.5.1 y esto puede entenderse fácilmente como parte de la versión oficial 1.4.5.

También puede usar otras versiones de ensamblaje, como AssemblyInformationalVersion para almacenar información de versión para sus usuarios. (Consulte mi publicación de blog para obtener más información sobre < code> AssemblyInformationalVersion y versiones de ensamblaje en .NET.)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top