version-control - tipos - sistemas de control de versiones mas usados
¿Cuál es la diferencia entre la gestión de la configuración y el control de versiones? (8)
¿Alguien puede explicar en términos sencillos cuál es la diferencia entre la administración de la configuración y el control de versiones? De las descripciones que he podido encontrar en varios sitios web, parece que la administración de la configuración es solo un término sofisticado para colocar los archivos de configuración en un repositorio de control de fuente. Pero otros me llevan a creer que hay una explicación más complicada.
Además de todo lo dicho anteriormente, me gustaría recomendar el libro de Bob Aiello llamado "Prácticas recomendadas de administración de la configuración": http://www.amazon.com/dp/0321685865 . Cubre todos los aspectos de la gestión de la configuración del software, incluido el control de versiones.
El control de versiones es necesario pero no suficiente para la administración de la configuración. El control de versiones ocurre en algún repositorio central o distribuido, pero no dice nada sobre dónde se implementa o usa una versión en particular.
La administración de la configuración se preocupa por cómo llevar lo que está en el control de versiones e implementarlo de manera consistente en los lugares apropiados, principalmente control de calidad y producción, pero también en desarrolladores de operaciones de desarrollo lo suficientemente grandes.
Por ejemplo, puede mantener todas sus consultas de SQL en el control de versiones, incluidos los scripts de modificación de tablas, pero eso no controla cuando esos scripts se implementan en el servidor de base de datos adecuado y se mantienen sincronizados con el despliegue de cualquier otro código que se base en esa estructura de base de datos.
El control de versiones es una de las características de un sistema SCM.
De la guía del usuario de Subversion: http://svnbook.red-bean.com/en/1.7/svn-book.html
"Algunos sistemas de control de versiones también son sistemas de administración de configuración de software (SCM). Estos sistemas están diseñados específicamente para administrar árboles de código fuente y tienen muchas características que son específicas para el desarrollo de software, como la comprensión nativa de lenguajes de programación o el suministro de herramientas para la creación de software. Sin embargo, Subversion no es uno de estos sistemas. Es un sistema general que se puede usar para administrar cualquier colección de archivos. Para usted, esos archivos pueden ser código fuente, para otros, cualquier cosa, desde listas de compras de comestibles hasta mezclas de videos digitales. y más allá."
El control de versiones guarda archivos y mantiene diferentes versiones de los mismos, para que pueda ver el cambio a lo largo del tiempo.
La administración de la configuración generalmente se conoce como un proceso general del cual se realiza un seguimiento de qué versión del código está en qué servidor, cómo se configuran los servidores (y las secuencias de comandos de instalación para hacerlo en muchos lugares). Es cómo el proceso de lo que sucede después de que el código ingresa al control de origen y cómo se implementa en los servidores / escritorios, etc.
En términos generales, el control de versiones significa que puede consultar la fuente de cualquier versión en particular. La administración de la configuración significa que puede compilar e implementar y, probablemente, probar cualquier versión en particular.
La gestión de la configuración es un término ambiguo.
En software, tiende a ser un superconjunto de control de versiones con énfasis en todo el proceso para producir un resultado de manera repetible y predecible.
En el mantenimiento informático, está relacionado con el mantenimiento de los ajustes de configuración y las versiones de hardware / firmware / software de redes completas y el conjunto de máquinas informáticas conectadas (incluidos servidores, clientes, enrutadores ...).
En la fabricación de hardware, representa incluso un superconjunto de los dos anteriores, incluidas las piezas de hardware y los módulos de software necesarios para obtener un producto, con la descripción del proceso para fabricarlos, e incluso en algún momento todos los esquemas y configuraciones de las propias líneas de producción. .
La gestión de la configuración incluye, pero no se limita a, control de versiones.
La administración de configuración es todo lo que necesita para administrar en términos de un proyecto. Esto incluye software, hardware, pruebas, documentación, gestión de versiones y más. Identifica cada componente del usuario final y realiza un seguimiento de cada cambio propuesto y aprobado desde el Día 1 del proyecto hasta el día en que finaliza el proyecto.
El control de versiones se aplica específicamente a los archivos de computadora. Esto incluye documentos, hojas de cálculo, correos electrónicos, código fuente y más.
El control de versiones es el control de los entregables, mientras que la administración de la configuración está administrando todo el proceso que conduce a producir los entregables. La gestión de configuración implica la gestión de cambios, la gestión de proyectos, etc., que generalmente no se gestionan mediante un control de versión simple.