CVS ("Concurrent Versioning System") es un software Open-Source que permite administrar los cambios realizados en el código fuente ("Source Code") de cualquier archivo ya sea en: C, C++, Java, HTML, XML e inclusive hasta diferentes versiones de archivos ejecutables ("binarios").
Una de las ventajas que ofrece CVS es que no requiere guardar cada versión completa del archivo, esto es, se mantiene un depósito (" repository ") donde son administradas las distintas versiones maestras de cada archivo. Este depósito (" repository ") no puede ser accesado directamente, los archivos son actualizados a través de una copia de este depósito ("working copy"). Cada usuario que desee accesar cierto archivo genera una copia de trabajo ("working copy") a partir del deposito, realiza los cambios pertinentes al archivo y una vez finalizado, actualiza el depósito (" repository ").
Si al momento de intentar actualizar el deposito (" repository ") el archivo ha sido modificado por otro usuario, pueden ocurrir dos situaciones:
|
Además de esta funcionalidad principal que ofrece CVS, CVS también es capaz de producir versiones de archivo a cierto punto en el tiempo, esto es, si la versión mas reciente es 3.1.1, CVS puede producir la 1.4.1 o 2.4 del deposito , también es capaz de subjerarquizar archivos y otras funcionalidades utilizadas en proyectos que requieren control de versiones.
CVS en un Sitio de Internet
La mayoría del contenido en todo sitio de Internet pasa por tres etapas:
- Desarrollo : Los programadores y diseñadores gráficos generan ideas conceptuales, se realiza contenido y programas, y se llevan acabo pruebas mínimas.
- Prueba : En esta etapa se realiza una prueba exhaustiva a todos los programas y contenido que fueron realizados en la etapa de Desarrollo, esto tiene varias finalidades: Observar como fluye el contenido desarrollado con el contenido de producción,corregir errores de programación que no pudieron ser detectados en la etapa de desarrollo, entre otras.
- Producción : Esta es la etapa final, una vez que el contenido y programas ( aplicaciones de servidor ) lleguen a esta etapa no debe existir ninguna razón por la cual falle o surja algún error en el contenido .
Debido a que CVS mantiene un depósito de archivos y éste es capaz de generar versiones a un cierto punto en el tiempo, es una herramienta ideal para esta situación.
Como empezar ? Que se Requiere ?
Se requieren 3 Servidores de Páginas (Web-Server) y un depósito de CVS. NOTA: No se requieren 3 "Hosts" para poder utilizar esta configuración, un sólo "Host" (Computadora Física) es capaz de mantener 3 Servidores de Páginas, sólo se requiere de múltiples direcciones IP y/o distintos "Virtual Hosts" (Vea Virtual Hosting con Apache ).
El Servidor de Páginas de Desarrollo
Este servidor de páginas tomará su información de una copia del depósito de CVS ("working copy"). Digamos que esta copia se localice en /www/desarollo/ ,los programadores y diseñadores gráficos modificaran y realizaran cambios a las páginas sobre esta copia de trabajo ("working copy")
El Servidor de Páginas de Prueba
Una vez que en el depósito CVS se encuentre una versión de desarrollo estable, se genera un copia del depósito ("working copy") de esta versión de desarrollo.Sobre esta versión de desarrollo se llevaran acabo pruebas más exhaustivas para determinar si es posible pasarla a producción.Digamos que esta copia se localice en /www/pruebas/, el personal que este realizando las pruebas accesarán esta copia de trabajo ("working copy") directamente y realizaran los cambios adecuados.
El Servidor de Producción
Este Servidor de Páginas será el encargado de enviar la información al público en general, este servidor de páginas tomará los archivos del directorio /www/produccion , ahora ,de donde provienen estos archivos en /www/produccion ? Estos archivos surgirán de una copia de trabajo ("working copy") del depósito CVS que haya pasado satisfactoriamente por las etapas de desarrollo y prueba.
Posible Secuencia de Eventos
Considerando que :
- El servidor de Producción contiene la versión 1.0 del Depósito CVS.
- El servidor de Prueba contiene la versión 2.0 del Depósito CVS.
- El servidor de Desarrollo contiene la versión 3.0 del Depósito CVS.
Los programadores y diseñadores gráficos realizan cambios a las páginas y programas ( aplicaciones de servidor ) en su copia de trabajo ("working copy") (Versión 3.0), una vez que se han realizado los cambios suficientes, actualizan el depósito de CVS a la versión 4.0
El personal que esta realizando la pruebas en el "servidor de prueba" determina que la Versión 2.0, se encuentra preparada para el "servidor de producción", por lo tanto se actualiza la copia de trabajo ("working copy") del "servidor de producción" para que este refleje la versión 2.0.
Sin embargo, después de 14 horas el "servidor de producción" empieza a generar errores, y sus visitantes se empiezan a quejar, además de esto el personal que realiza la última afinación ("servidor de pruebas") ya se encuentra trabajando sobre la versión 3.0 que entregaron los programadores y diseñadores gráficos.
La solución con CVS
- Actualizar la copia de trabajo ("working copy") del "servidor de producción" a la versión 1.0 para reflejar la versión estable.
- Informar al personal de prueba que debe corregir los problemas con la Versión 2.0 ya que aún tiene fallas, por lo tanto la copia de trabajo ("working copy") del "servidor de pruebas" debe de ser cambiado a la versión 2.0 de nuevo.
Pero que sucede con estos cambios nuevos a la versión 2.0, si ya se había empezado a trabajar con la versión 3.0 ?. Como se mencionó anteriormente si CVS determina que no se perderá información, fusionará los cambios y en dado caso que surja un conflicto se notificará al usuario para que determine cual será la información final.
Donde se puede obtener CVS ?
Links:
|
|
